Open a log write-stream, creating the parent dir; null (+ warn) on failure.
(path: string, logger: Logger, name: string)
| 135 | |
| 136 | /** Open a log write-stream, creating the parent dir; null (+ warn) on failure. */ |
| 137 | async function openLogStream(path: string, logger: Logger, name: string): Promise<WriteStream | null> { |
| 138 | try { |
| 139 | await mkdir(dirname(path), { recursive: true }); |
| 140 | const ws = createWriteStream(path); |
| 141 | ws.on('error', (err) => logger.warn('headless.log_write_failed', { name, path, err })); |
| 142 | return ws; |
| 143 | } catch (err) { |
| 144 | logger.warn('headless.log_open_failed', { name, path, err }); |
| 145 | return null; |
| 146 | } |
| 147 | } |
| 148 | |
| 149 | export async function runHeadlessTask(args: HeadlessTaskArgs): Promise<HeadlessTaskResult> { |
| 150 | const { command, cwd, env, timeoutMs, logger } = args; |