Skip to content

LOG_Builder.LogEntry

Class

apex
global class LOG_Builder.LogEntry

Fluent builder for constructing rich log entries with context. Provides a chainable API for setting log level, location, record association, and contextual metadata before emitting the log.

Example

apex
LOG_Builder.build()
    .error(caughtException)
    .at('PaymentService.charge')
    .forRecord(paymentId)
    .withContext('amount', payment.Amount__c)
    .emit();

Methods

MethodDescription
global LOG_Builder.LogEntry at(String classMethod)Sets the originating class and method for the log entry.
global LOG_Builder.LogEntry debug(List<String> messages)Sets the log level to DEBUG with the given batch of messages.
global LOG_Builder.LogEntry debug(String message)Sets the log level to DEBUG with the given message.
global void emit()Emits the log entry with all configured properties.
global void emitAt(String classMethod)Convenience terminal that sets the class/method and emits in one call.
global LOG_Builder.LogEntry error(Exception error)Sets the log level to ERROR with the given exception.
global LOG_Builder.LogEntry error(List<String> messages)Sets the log level to ERROR with the given batch of messages.
global LOG_Builder.LogEntry error(String message)Sets the log level to ERROR with the given message.
global LOG_Builder.LogEntry forRecord(Id recordId)Associates a record ID with the log entry.
global LOG_Builder.LogEntry forRecord(String recordId)Associates a record ID (as String) with the log entry.
global LOG_Builder.LogEntry info(List<String> messages)Sets the log level to INFO with the given batch of messages.
global LOG_Builder.LogEntry info(String message)Sets the log level to INFO with the given message.
global LOG_Builder.LogEntry warn(List<String> messages)Sets the log level to WARN with the given batch of messages.
global LOG_Builder.LogEntry warn(String message)Sets the log level to WARN with the given message.
global LOG_Builder.LogEntry withContext(String key, Object value)Adds a context key-value pair to this log entry.
global LOG_Builder.LogEntry withFingerprint(String key)Sets a grouping fingerprint for this entry, enabling flood control: the first occurrence persists as a full detail row, repeats roll up into daily counter rows.
global LOG_Builder.LogEntry withSummary(String shortMessage)Sets a brief summary message for the log entry.

at

apex
global LOG_Builder.LogEntry at(String classMethod)

Sets the originating class and method for the log entry.

Parameters

ParameterTypeDescription
classMethodStringThe class and method in format 'ClassName.methodName'

Returns LOG_Builder.LogEntry — This LogEntry for chaining

debug

apex
global LOG_Builder.LogEntry debug(List<String> messages)

Sets the log level to DEBUG with the given batch of messages.

Parameters

ParameterTypeDescription
messagesListThe debug messages to log

Returns LOG_Builder.LogEntry — This LogEntry for chaining

apex
global LOG_Builder.LogEntry debug(String message)

Sets the log level to DEBUG with the given message.

Parameters

ParameterTypeDescription
messageStringThe debug message

Returns LOG_Builder.LogEntry — This LogEntry for chaining

emit

apex
global void emit()

Emits the log entry with all configured properties. Any per-entry context is temporarily set as global context for the duration of the log call, then cleaned up to prevent leaking into subsequent logs.

emitAt

apex
global void emitAt(String classMethod)

Convenience terminal that sets the class/method and emits in one call. Equivalent to .at(classMethod).emit().

Parameters

ParameterTypeDescription
classMethodStringThe class and method in format 'ClassName.methodName'

Example

apex
LOG_Builder.build().error(caughtException).emitAt('PaymentService.charge');

error

apex
global LOG_Builder.LogEntry error(Exception error)

Sets the log level to ERROR with the given exception.

Parameters

ParameterTypeDescription
errorExceptionThe exception to log

Returns LOG_Builder.LogEntry — This LogEntry for chaining

apex
global LOG_Builder.LogEntry error(List<String> messages)

Sets the log level to ERROR with the given batch of messages.

Parameters

ParameterTypeDescription
messagesListThe error messages to log

Returns LOG_Builder.LogEntry — This LogEntry for chaining

apex
global LOG_Builder.LogEntry error(String message)

Sets the log level to ERROR with the given message.

Parameters

ParameterTypeDescription
messageStringThe error message

Returns LOG_Builder.LogEntry — This LogEntry for chaining

forRecord

apex
global LOG_Builder.LogEntry forRecord(Id recordId)

Associates a record ID with the log entry.

Parameters

ParameterTypeDescription
recordIdIdThe related record ID

Returns LOG_Builder.LogEntry — This LogEntry for chaining

apex
global LOG_Builder.LogEntry forRecord(String recordId)

Associates a record ID (as String) with the log entry.

Parameters

ParameterTypeDescription
recordIdStringString representation of the related record ID

Returns LOG_Builder.LogEntry — This LogEntry for chaining

info

apex
global LOG_Builder.LogEntry info(List<String> messages)

Sets the log level to INFO with the given batch of messages.

Parameters

ParameterTypeDescription
messagesListThe informational messages to log

Returns LOG_Builder.LogEntry — This LogEntry for chaining

apex
global LOG_Builder.LogEntry info(String message)

Sets the log level to INFO with the given message.

Parameters

ParameterTypeDescription
messageStringThe informational message

Returns LOG_Builder.LogEntry — This LogEntry for chaining

warn

apex
global LOG_Builder.LogEntry warn(List<String> messages)

Sets the log level to WARN with the given batch of messages.

Parameters

ParameterTypeDescription
messagesListThe warning messages to log

Returns LOG_Builder.LogEntry — This LogEntry for chaining

apex
global LOG_Builder.LogEntry warn(String message)

Sets the log level to WARN with the given message.

Parameters

ParameterTypeDescription
messageStringThe warning message

Returns LOG_Builder.LogEntry — This LogEntry for chaining

withContext

apex
global LOG_Builder.LogEntry withContext(String key, Object value)

Adds a context key-value pair to this log entry. Context is scoped to this entry only and does not affect other logs.

Complex types (Maps, Lists, SObjects) are JSON-serialised automatically inside LOG_Engine.setGlobalContext — callers MUST NOT pre-serialise via JSON.serialize(value) or the payload is double-encoded. Pass the value object directly and let the engine decide the wire form. Prefer LOG_Engine.CONTEXT_* constants for key over string literals so cross-framework log entries pivot on the same key namespace.

Parameters

ParameterTypeDescription
keyStringThe context key (use a LOG_Engine.CONTEXT_* constant where one exists).
valueObjectThe context value (any type; auto-serialised when complex).

Returns LOG_Builder.LogEntry — This LogEntry for chaining

withFingerprint

apex
global LOG_Builder.LogEntry withFingerprint(String key)

Sets a grouping fingerprint for this entry, enabling flood control: the first occurrence persists as a full detail row, repeats roll up into daily counter rows. Use a STABLE event-template identity (e.g. 'payment-retry-loop') — never per-occurrence data such as record ids or timestamps, which would make every entry unique and produce MORE rows than plain logging. Keys are trimmed; keys longer than 200 characters or starting with the reserved 'bypass:' prefix are SHA-256 hashed. When a key is hashed, the original key is recorded in this entry's context (LOG_Engine.CONTEXT_FINGERPRINT_SOURCE) so the opaque stored fingerprint stays reconcilable with what you supplied.

Parameters

ParameterTypeDescription
keyStringThe stable grouping key.

Returns LOG_Builder.LogEntry — This LogEntry for chaining

Example

apex
LOG_Builder.build().warn('Retry failed').withFingerprint('order-sync-retry').emitAt('OrderSync.run');

withSummary

apex
global LOG_Builder.LogEntry withSummary(String shortMessage)

Sets a brief summary message for the log entry.

Parameters

ParameterTypeDescription
shortMessageStringThe summary message

Returns LOG_Builder.LogEntry — This LogEntry for chaining