]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/commitdiff
Add script to parse log files
authorChocobozzz <florian.bigard@gmail.com>
Thu, 16 Nov 2017 16:29:05 +0000 (17:29 +0100)
committerChocobozzz <florian.bigard@gmail.com>
Mon, 27 Nov 2017 18:40:52 +0000 (19:40 +0100)
package.json
scripts/parse-log.ts [new file with mode: 0755]

index 68df1cb9bbd2f82d23395ce054ed7b0635fd2991..be1b612b75678952d6639826219fed4cc29d3972 100644 (file)
@@ -40,6 +40,7 @@
     "update-host": "ts-node ./scripts/update-host.ts",
     "test": "scripty",
     "help": "scripty",
+    "parse-log": "ts-node ./scripts/parse-log.ts",
     "postinstall": "cd client && yarn install --pure-lockfile",
     "tsc": "tsc",
     "nodemon": "nodemon",
diff --git a/scripts/parse-log.ts b/scripts/parse-log.ts
new file mode 100755 (executable)
index 0000000..81a22f7
--- /dev/null
@@ -0,0 +1,42 @@
+import { createReadStream } from 'fs'
+import { join } from 'path'
+import { createInterface } from 'readline'
+import * as winston from 'winston'
+import { readFileBufferPromise } from '../server/helpers/core-utils'
+import { CONFIG } from '../server/initializers/constants'
+
+const label = CONFIG.WEBSERVER.HOSTNAME + ':' + CONFIG.WEBSERVER.PORT
+
+const logger = new winston.Logger({
+  transports: [
+    new winston.transports.Console({
+      level: 'debug',
+      label: label,
+      handleExceptions: true,
+      humanReadableUnhandledException: true,
+      json: false,
+      colorize: true,
+      prettyPrint: true
+    })
+  ],
+  exitOnError: true
+})
+
+const logLevels = {
+  error: logger.error,
+  warn: logger.warn,
+  info: logger.info,
+  debug: logger.debug
+}
+
+const path = join(CONFIG.STORAGE.LOG_DIR, 'all-logs.log')
+console.log('Opening %s.', path)
+
+const rl = createInterface({
+  input: createReadStream(path)
+})
+
+rl.on('line', line => {
+  const log = JSON.parse(line)
+  logLevels[log.level](log.message)
+})