( sink: TaskNotesLoggerSink, method: keyof TaskNotesLoggerSink, tag: string | (() => string) | undefined, message: string, metadata?: TaskNotesLogMetadata )
| 61 | } |
| 62 | |
| 63 | function emitLog( |
| 64 | sink: TaskNotesLoggerSink, |
| 65 | method: keyof TaskNotesLoggerSink, |
| 66 | tag: string | (() => string) | undefined, |
| 67 | message: string, |
| 68 | metadata?: TaskNotesLogMetadata |
| 69 | ): void { |
| 70 | const args: unknown[] = [getLogMessage(tag, message, metadata)]; |
| 71 | if (metadata?.details) { |
| 72 | args.push(metadata.details); |
| 73 | } |
| 74 | if (metadata?.error !== undefined) { |
| 75 | args.push(metadata.error); |
| 76 | } |
| 77 | sink[method](...args); |
| 78 | } |
| 79 | |
| 80 | export function createTaskNotesLogger(options: TaskNotesLoggerOptions = {}): TaskNotesLogger { |
| 81 | const sink = options.sink ?? console; |
no test coverage detected