]>
Commit | Line | Data |
---|---|---|
41dbdb8a C |
1 | import { createReadStream } from 'fs' |
2 | import { join } from 'path' | |
3 | import { createInterface } from 'readline' | |
4 | import * as winston from 'winston' | |
41dbdb8a C |
5 | import { CONFIG } from '../server/initializers/constants' |
6 | ||
7 | const label = CONFIG.WEBSERVER.HOSTNAME + ':' + CONFIG.WEBSERVER.PORT | |
8 | ||
9 | const logger = new winston.Logger({ | |
10 | transports: [ | |
11 | new winston.transports.Console({ | |
12 | level: 'debug', | |
13 | label: label, | |
14 | handleExceptions: true, | |
15 | humanReadableUnhandledException: true, | |
16 | json: false, | |
17 | colorize: true, | |
c46edbc2 C |
18 | prettyPrint: true, |
19 | stderrLevels: [] | |
41dbdb8a C |
20 | }) |
21 | ], | |
22 | exitOnError: true | |
23 | }) | |
24 | ||
25 | const logLevels = { | |
26 | error: logger.error, | |
27 | warn: logger.warn, | |
28 | info: logger.info, | |
29 | debug: logger.debug | |
30 | } | |
31 | ||
32 | const path = join(CONFIG.STORAGE.LOG_DIR, 'all-logs.log') | |
33 | console.log('Opening %s.', path) | |
34 | ||
35 | const rl = createInterface({ | |
36 | input: createReadStream(path) | |
37 | }) | |
38 | ||
39 | rl.on('line', line => { | |
40 | const log = JSON.parse(line) | |
afffe988 C |
41 | const additionalInfo: any = {} |
42 | ||
43 | Object.keys(log).forEach(logKey => { | |
44 | if (logKey !== 'message' && logKey !== 'level') additionalInfo[logKey] = log[logKey] | |
45 | }) | |
46 | ||
47 | logLevels[log.level](log.message, additionalInfo) | |
41dbdb8a | 48 | }) |