Pipeline
Logger facade -> CoreLogger severity filter -> Processor -> Transport -> Formatter/outputLoggerwraps any logger with convenience methods likeinfo()andwarn().CoreLoggercreatesLogRecordobjects and applies the severity filter.Processoroptionally transforms aLogRecordbefore it reaches a transport.Transportcaptures the record and writes or stores it.Formatterconverts a record to text when a transport needs formatted output.
Processors only run for records that pass minSeverity.
Failure Behavior
Section titled “Failure Behavior”Logging is best-effort. If a processor throws, CoreLogger sends the original
record to the transport. If a formatter or transport throws, the exception is
contained and does not fail the request, job, or other application operation
that produced the log.
CompositeTransport isolates each destination. A failure in one child does not
prevent later children from receiving the record.
Because failures are intentionally contained, transports that need operational visibility should implement their own health reporting or metrics.
Convenience API
Section titled “Convenience API”CoreLogger exposes the low-level log(severity, message, meta) method. Logger wraps any logger with convenience methods similar to console, including info(), warn(), and error().
createLogger builds a CoreLogger and returns it wrapped in Logger. createNamedLogger does the same and adds a logger metadata field. createLoggerFacade wraps an existing logger.