TritonBuilder

Overview

The TritonBuilder class implements a builder pattern for creating structured log entries in LWC and Aura components. It provides a fluent interface for setting various log attributes and metadata.

Log Level Methods

level(level)

  • Description: Sets the log level

  • Parameters:

    • level: {string} Log level from LEVEL enum

  • Returns: {TritonBuilder} Builder instance for chaining

  • Example:

triton.makeBuilder().level(LEVEL.INFO);

category(category)

  • Description: Sets the log category

  • Parameters:

    • category: {string} Log category from CATEGORY enum

  • Returns: {TritonBuilder} Builder instance for chaining

  • Example:

triton.makeBuilder().category(CATEGORY.LWC);

type(type)

  • Description: Sets the log type

  • Parameters:

    • type: {string} Log type from TYPE enum

  • Returns: {TritonBuilder} Builder instance for chaining

  • Example:

triton.makeBuilder().type(TYPE.FRONTEND);

area(area)

  • Description: Sets the functional area

  • Parameters:

    • area: {string} Log area from AREA enum

  • Returns: {TritonBuilder} Builder instance for chaining

  • Example:

triton.makeBuilder().area(AREA.COMMUNITY);

Content Methods

summary(summary)

  • Description: Sets the log summary message

  • Parameters:

    • summary: {string} Brief description of the log entry

  • Returns: {TritonBuilder} Builder instance for chaining

  • Example:

triton.makeBuilder().summary('Operation completed successfully');

details(details)

  • Description: Sets detailed log information

  • Parameters:

    • details: {string} Detailed description or additional context

  • Returns: {TritonBuilder} Builder instance for chaining

  • Example:

triton.makeBuilder().details('Detailed operation information...');

Error Handling

exception(error)

  • Description: Sets error information from a JavaScript Error object

  • Parameters:

    • error: {Error|Object} Error object to process

  • Returns: {TritonBuilder} Builder instance for chaining

  • Example:

triton.makeBuilder().exception(new Error('Operation failed'));

componentDetails(stack)

  • Description: Extracts and sets component details from stack trace

  • Parameters:

    • stack: {string} Stack trace to process

  • Returns: {TritonBuilder} Builder instance for chaining

  • Example:

triton.makeBuilder().componentDetails(new Error().stack);

Metadata Methods

transactionId(transactionId)

  • Description: Sets the transaction ID for log correlation

  • Parameters:

    • transactionId: {string} Transaction identifier

  • Returns: {TritonBuilder} Builder instance for chaining

  • Example:

triton.makeBuilder().transactionId('transaction-123');

componentInfo(componentInfo)

  • Description: Sets component information

  • Parameters:

    • componentInfo: {Object} Component metadata object

  • Returns: {TritonBuilder} Builder instance for chaining

  • Example:

triton.makeBuilder().componentInfo({
    name: 'myComponent',
    function: 'handleClick'
});

duration(duration)

  • Description: Sets execution duration

  • Parameters:

    • duration: {number} Duration in milliseconds

  • Returns: {TritonBuilder} Builder instance for chaining

  • Example:

triton.makeBuilder().duration(150);

timestamp(timestamp)

  • Description: Sets log creation timestamp

  • Parameters:

    • timestamp: {number} Unix timestamp

  • Returns: {TritonBuilder} Builder instance for chaining

  • Example:

triton.makeBuilder().timestamp(Date.now());

userId(userId)

  • Description: Sets the user ID associated with the log

  • Parameters:

    • userId: {string} Salesforce user ID

  • Returns: {TritonBuilder} Builder instance for chaining

  • Example:

triton.makeBuilder().userId('005xx000001234AAA');

relatedObjects(objectIds)

  • Description: Sets related object IDs

  • Parameters:

    • objectIds: {string|string[]} Single ID or array of Salesforce object IDs

  • Returns: {TritonBuilder} Builder instance for chaining

  • Example:

triton.makeBuilder().relatedObjects(['001xx000003DGb2AAG', '001xx000003DGb3AAG']);

runtimeInfo(info)

  • Description: Sets runtime environment information

  • Parameters:

    • info: {Object} Runtime environment details

  • Returns: {TritonBuilder} Builder instance for chaining

  • Example:

triton.makeBuilder().runtimeInfo({
    userAgent: navigator.userAgent,
    viewport: { width: window.innerWidth, height: window.innerHeight }
});

Build Method

build()

  • Description: Constructs the final log object from all set properties

  • Returns: {Object} Complete log object ready for persistence

  • Example:

const logEntry = triton.makeBuilder()
    .level(LEVEL.INFO)
    .type(TYPE.FRONTEND)
    .summary('User action completed')
    .build();

Last updated