diff --git a/src/cli/base-cli-handler.js b/src/cli/base-cli-handler.js index 45cabca57..c98ac5947 100644 --- a/src/cli/base-cli-handler.js +++ b/src/cli/base-cli-handler.js @@ -17,6 +17,7 @@ const AppHelper = require('../helpers/app-helper'); const Errors = require('../helpers/errors'); const ErrorMessages = require('../helpers/error-messages'); const constants = require('../helpers/constants'); +const logger = require('../logger') class CLIHandler { constructor() { @@ -66,7 +67,7 @@ class CLIHandler { content: 'Fog Controller project for Eclipse IoFog @ iofog.org \\nCopyright (c) 2018 Edgeworx, Inc.', } ].concat(sections); - console.log(commandLineUsage(usage)) + logger.cliRes(commandLineUsage(usage)) } helpAll(show = [], showOptions = true, hasCommands = true, additionalSection = []) { @@ -99,28 +100,28 @@ class CLIHandler { content: 'Fog Controller project for Eclipse IoFog @ iofog.org \\nCopyright (c) 2018 Edgeworx, Inc.', } ].concat(sections); - console.log(commandLineUsage(usage)) + logger.cliRes(commandLineUsage(usage)) } handleCLIError(error, args) { switch (error.name) { case "UNKNOWN_OPTION": - console.log("Invalid argument '" + error.optionName.split('-').join('') + "'"); + logger.error("Invalid argument '" + error.optionName.split('-').join('') + "'"); break; case "UNKNOWN_VALUE": if (this.commands[args[0]] && args[1] === 'help') { return this.helpSome([args[0]]); } - console.log("Invalid value " + error.value); + logger.error("Invalid value " + error.value); break; case "InvalidArgumentError": - console.log(error.message); + logger.error(error.message); break; case "InvalidArgumentTypeError": - console.log(error.message); + logger.error(error.message); break; case "ALREADY_SET": - console.log("Parameter '" + error.optionName + "' is used multiple times"); + logger.error("Parameter '" + error.optionName + "' is used multiple times"); break; case 'CLIArgsNotProvidedError': if (this.commands[args[0]]) { @@ -128,7 +129,7 @@ class CLIHandler { } break; default: - console.log(JSON.stringify(error)); + logger.error(JSON.stringify(error)); break; } } diff --git a/src/logger/index.js b/src/logger/index.js index 2432fd2f3..e34efb8ad 100644 --- a/src/logger/index.js +++ b/src/logger/index.js @@ -17,6 +17,7 @@ const fs = require('fs'); const MESSAGE = Symbol.for('message'); const dirname = config.get('Service:LogsDirectory') +const maxsize = config.get('Service:LogsFileSize') // Create the log directory if it does not exist try { @@ -80,7 +81,7 @@ const logger = winston.createLogger({ ), filename: 'iofog-controller.0.log', dirname: dirname, - maxsize: config.get('Service:LogsFileSize'), + maxsize: maxsize, rotationFormat: function() { return getFormattedLogName(); } @@ -91,7 +92,14 @@ const logger = winston.createLogger({ // logFileName pattern similar to agent function getFormattedLogName() { if (fs.existsSync(dirname)) { - fs.readdirSync(dirname).reverse().forEach(file => { + const files = fs.readdirSync(dirname) + const latestFilePath = dirname + '/' + files[0] + + if (files.length === 0 || fs.statSync(latestFilePath).size <= maxsize) { + return '' + } + + files.reverse().forEach(file => { const path = dirname + '/' + file if (fs.existsSync(path)) { const strNumber = file.replace('iofog-controller.', '').replace('.log', '')