]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame_incremental - server/helpers/logger.js
Remove livereload module (role of webpack now)
[github/Chocobozzz/PeerTube.git] / server / helpers / logger.js
... / ...
CommitLineData
1// Thanks http://tostring.it/2014/06/23/advanced-logging-with-nodejs/
2'use strict'
3
4const config = require('config')
5const mkdirp = require('mkdirp')
6const path = require('path')
7const winston = require('winston')
8winston.emitErrs = true
9
10const logDir = path.join(__dirname, '..', '..', config.get('storage.logs'))
11const label = config.get('webserver.host') + ':' + config.get('webserver.port')
12
13// Create the directory if it does not exist
14mkdirp.sync(logDir)
15
16const logger = new winston.Logger({
17 transports: [
18 new winston.transports.File({
19 level: 'debug',
20 filename: path.join(logDir, 'all-logs.log'),
21 handleExceptions: true,
22 json: true,
23 maxsize: 5242880,
24 maxFiles: 5,
25 colorize: false
26 }),
27 new winston.transports.Console({
28 level: 'debug',
29 label: label,
30 handleExceptions: true,
31 humanReadableUnhandledException: true,
32 json: false,
33 colorize: true
34 })
35 ],
36 exitOnError: true
37})
38
39logger.stream = {
40 write: function (message, encoding) {
41 logger.info(message)
42 }
43}
44
45// ---------------------------------------------------------------------------
46
47module.exports = logger