| 89 | export const terminalEscapeSequences = /(\x9B|\x1B\[)[0-?]*[ -\/]*[@-~]/g; // https://stackoverflow.com/questions/14693701/how-can-i-remove-the-ansi-escape-sequences-from-a-string-in-python/33925425#33925425 |
| 90 | |
| 91 | export function createCombinedLog(logs: LogHandler[], header?: string): LogHandler { |
| 92 | let sendHeader = !!header; |
| 93 | return { |
| 94 | event: e => { |
| 95 | if (sendHeader) { |
| 96 | sendHeader = false; |
| 97 | logs.forEach(log => log.event({ |
| 98 | type: 'text', |
| 99 | level: LogLevel.Info, |
| 100 | timestamp: Date.now(), |
| 101 | text: header!, |
| 102 | })); |
| 103 | } |
| 104 | logs.forEach(log => log.event(e)); |
| 105 | } |
| 106 | }; |
| 107 | } |
| 108 | |
| 109 | export function createPlainLog(write: (text: string) => void, getLogLevel: () => LogLevel): LogHandler { |
| 110 | return { |