| 10 | * @implements {ILogger} |
| 11 | */ |
| 12 | export class CompactLogger implements ILogger { |
| 13 | private transport: CompactTransport |
| 14 | private parentMeta: LogMeta | undefined |
| 15 | |
| 16 | /** |
| 17 | * Creates a new CompactLogger instance |
| 18 | * @param transport - Optional custom transport instance |
| 19 | * @param parentMeta - Optional parent metadata for hierarchical logging |
| 20 | */ |
| 21 | constructor(transport?: CompactTransport, parentMeta?: LogMeta) { |
| 22 | this.transport = transport ?? new CompactTransport() |
| 23 | this.parentMeta = parentMeta |
| 24 | } |
| 25 | |
| 26 | /** |
| 27 | * Logs a debug level message |
| 28 | * @param message - The message to log |
| 29 | * @param meta - Optional metadata to include |
| 30 | */ |
| 31 | debug(message: string, meta?: LogMeta): void { |
| 32 | this.log("debug", message, this.combineMeta(meta)) |
| 33 | } |
| 34 | |
| 35 | /** |
| 36 | * Logs an info level message |
| 37 | * @param message - The message to log |
| 38 | * @param meta - Optional metadata to include |
| 39 | */ |
| 40 | info(message: string, meta?: LogMeta): void { |
| 41 | this.log("info", message, this.combineMeta(meta)) |
| 42 | } |
| 43 | |
| 44 | /** |
| 45 | * Logs a warning level message |
| 46 | * @param message - The message to log |
| 47 | * @param meta - Optional metadata to include |
| 48 | */ |
| 49 | warn(message: string, meta?: LogMeta): void { |
| 50 | this.log("warn", message, this.combineMeta(meta)) |
| 51 | } |
| 52 | |
| 53 | /** |
| 54 | * Logs an error level message |
| 55 | * @param message - The error message or Error object |
| 56 | * @param meta - Optional metadata to include |
| 57 | */ |
| 58 | error(message: string | Error, meta?: LogMeta): void { |
| 59 | this.handleErrorLog("error", message, meta) |
| 60 | } |
| 61 | |
| 62 | /** |
| 63 | * Logs a fatal level message |
| 64 | * @param message - The error message or Error object |
| 65 | * @param meta - Optional metadata to include |
| 66 | */ |
| 67 | fatal(message: string | Error, meta?: LogMeta): void { |
| 68 | this.handleErrorLog("fatal", message, meta) |
| 69 | } |
nothing calls this directly
no outgoing calls
no test coverage detected