({ log: write, logLevel, logFormat }: LogOptions, sessionStart: Date, header: string | undefined = undefined, secrets?: Record<string, string>)
| 278 | } |
| 279 | |
| 280 | function createLogFrom({ log: write, logLevel, logFormat }: LogOptions, sessionStart: Date, header: string | undefined = undefined, secrets?: Record<string, string>): Log & { join(): Promise<void> } { |
| 281 | const handler = logFormat === 'json' ? createJSONLog(write, () => logLevel, sessionStart) : |
| 282 | process.stdout.isTTY ? createTerminalLog(write, () => logLevel, sessionStart) : |
| 283 | createPlainLog(write, () => logLevel); |
| 284 | const log = { |
| 285 | ...makeLog(createCombinedLog([maskSecrets(handler, secrets)], header)), |
| 286 | join: async () => { |
| 287 | // TODO: wait for write() to finish. |
| 288 | }, |
| 289 | }; |
| 290 | return log; |
| 291 | } |
| 292 | |
| 293 | function maskSecrets(handler: LogHandler, secrets?: Record<string, string>): LogHandler { |
| 294 | if (secrets) { |
no test coverage detected