From 1f6f73e8d2ca95a16a40e03904b37bb923dc2e78 Mon Sep 17 00:00:00 2001 From: Koenkk Date: Sun, 5 Aug 2018 18:55:26 +0200 Subject: [PATCH] Allow to log to custom directory. #207 #182 --- lib/util/data.js | 1 + lib/util/logger.js | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/util/data.js b/lib/util/data.js index 3357f336e..0ce7eca84 100644 --- a/lib/util/data.js +++ b/lib/util/data.js @@ -11,4 +11,5 @@ if (process.env.ZIGBEE2MQTT_DATA) { module.exports = { joinPath: (file) => path.join(dataPath, file), + getPath: () => dataPath, }; diff --git a/lib/util/logger.js b/lib/util/logger.js index b5c28af93..897ed7646 100644 --- a/lib/util/logger.js +++ b/lib/util/logger.js @@ -1,6 +1,7 @@ const winston = require('winston'); const data = require('./data'); const settings = require('./settings'); +const path = require('path'); let logLevel = ''; if (process.env.DEBUG) { @@ -11,10 +12,13 @@ if (process.env.DEBUG) { logLevel = winston.level.info; } +const logDirectory = settings.get().advanced && settings.get().advanced.log_directory ? + settings.get().advanced.log_directory : data.getPath(); + const logger = new (winston.Logger)({ transports: [ new (winston.transports.File)({ - filename: data.joinPath('log.txt'), + filename: path.join(logDirectory, 'log.txt'), json: false, level: logLevel, maxFiles: 3, @@ -32,6 +36,8 @@ const logger = new (winston.Logger)({ ], }); +logger.info(`Logging to directory: '${logDirectory}'`); + logger.transports.console.level = logLevel; module.exports = logger;