# Apex

## File Index

#### [`Triton.cls`](https://triton.pharos.ai/pharos-triton/methods-reference/apex-methods-reference/triton)

The main class that provides the core logging functionality:

* Implements singleton pattern for logging instance management
* Handles buffered and immediate logging options
* Manages transaction tracking across contexts
* Provides methods for different logging levels (ERROR, WARNING, DEBUG, INFO)
* Supports integration error logging with HTTP request/response details
* Configurable log levels via Custom Metadata

#### [`TritonBuilder.cls`](https://triton.pharos.ai/pharos-triton/methods-reference/apex-methods-reference/tritonbuilder)

A builder class that provides a fluent interface for creating log records:

* Wraps the core `pharos.LogBuilder` to provide a user-friendly API
* Handles setting of various log attributes (category, type, area, etc.)
* Manages related objects and metadata
* Supports integration payload formatting
* Handles transaction IDs and user context

#### [`TritonTypes.cls`](https://triton.pharos.ai/pharos-triton/methods-reference/apex-methods-reference/tritontypes)

Defines the classification system and enums used throughout the framework:

* `Area`: Functional areas from a business perspective (e.g., OpportunityManagement, RestAPI)
* `Category`: High-level classification (e.g., Apex, Flow, Integration)
* `Level`: Log severity levels (ERROR to FINEST)
* `Type`: Technical classification (e.g., Backend, Frontend, DMLResult)

### Context-Specific Components

#### [`TritonLwc.cls`](https://github.com/Pharos-AI/triton-docs/blob/main/apex-methods-reference/tritonLwc/README.md)

Provides logging capabilities specifically for Lightning Web Components:

* Exposes AuraEnabled methods for LWC logging
* Handles component context capture
* Manages error details and stack traces
* Captures detailed runtime information (performance, memory, network)
* Supports transaction management

#### [`TritonFlow.cls`](https://github.com/Pharos-AI/triton-docs/blob/main/apex-methods-reference/tritonFlow/README.md)

Enables logging from Salesforce Flows and Process Builder:

* Provides invocable methods for Flow Builder
* Handles Flow context capture (Interview GUID, Flow API Name)
* Supports custom field mapping through JSON
* Manages automatic transaction tracking
* Validates and defaults log levels and categories

### Utility Components

#### [`TritonHelper.cls`](https://triton.pharos.ai/pharos-triton/methods-reference/apex-methods-reference/tritonhelper)

Provides utility methods and builder classes:

* Log level management and comparison
* UUID generation for transaction tracking
* HTTP request/response JSON serialization
* Transaction caching functionality
* Message formatting utilities
* Runtime information formatting
* Stack trace processing

### Runtime Information Components

#### [`RuntimeInfo` (in TritonLwc)](https://github.com/Pharos-AI/triton-docs/blob/main/apex-methods-reference/tritonLwc.md#runtimeinfo)

Captures detailed runtime information from Lightning Web Components:

* Environment details (user agent, platform, language)
* Performance metrics (page load time, DOM events, paint times)
* Memory usage statistics
* Network information (connection type, speed, RTT)
* Device characteristics (form factor, screen dimensions)
* Navigation context (pathname, hostname)
