diff --git a/app/config/parser.js b/app/config/parser.js index c35181ebb70d3338a4b4082c563f06661c1e2148..63b08a15658f8a6ec2de5bc247c5dea38f5507bf 100644 --- a/app/config/parser.js +++ b/app/config/parser.js @@ -1,15 +1,6 @@ -const winston = require('winston'); +const logger = require('winston'); const program = require('commander'); -// Add the logger -const logger = new (winston.Logger)({ - transports: [ - // colorize the output to the console - new (winston.transports.Console)({ colorize: true }), - ], -}); -logger.level = process.env.LOG_LEVEL || 'info'; - module.exports = { getGlobalConfig, getCascadedConfig, @@ -91,8 +82,9 @@ function getGlobalConfig() { cliConfig.token = program.token; } - // Set global config + // Get global config config = Object.assign({}, defaultConfig, customConfig, envConfig, cliConfig); + // Set log level logger.level = config.logLevel; @@ -132,9 +124,6 @@ function getGlobalConfig() { // Print config logger.verbose(`config=${JSON.stringify(config)}`); - // Add logger to config - config.logger = logger; - return config; } diff --git a/app/helpers/github.js b/app/helpers/github.js index 5918de4e7c305cace4d8062acc9c2a18df6552e5..b88c510aa1fb0bea81a4d2b702cf13582d95f35d 100644 --- a/app/helpers/github.js +++ b/app/helpers/github.js @@ -1,7 +1,7 @@ +const logger = require('winston'); const ghGot = require('gh-got'); const config = {}; -let logger = null; module.exports = { init, @@ -21,9 +21,8 @@ module.exports = { updatePr, }; -function init(token, l) { +function init(token) { config.token = token; - logger = l; } // Initialize GitHub by getting base branch and SHA diff --git a/app/helpers/npm.js b/app/helpers/npm.js index 9798c211a70a83a225991d57274bf90a01ee2cae..14a6ed26b59f0cf500a4119819e7e476e34d398f 100644 --- a/app/helpers/npm.js +++ b/app/helpers/npm.js @@ -1,11 +1,9 @@ +const logger = require('winston'); const got = require('got'); const semver = require('semver'); const stable = require('semver-stable'); -let logger = null; - module.exports = { - setLogger, extractDependencies, findUpgrades, getUpgrades, @@ -13,10 +11,6 @@ module.exports = { isValidVersion, }; -function setLogger(l) { - logger = l; -} - // Returns an array of current dependencies function extractDependencies(packageJson, sections) { // loop through dependency types diff --git a/app/helpers/package-json.js b/app/helpers/package-json.js index 680fb10d8f1784b0a448291730b41043d66b554e..246e2a36ebfe29f62258a8387b985536672f941f 100644 --- a/app/helpers/package-json.js +++ b/app/helpers/package-json.js @@ -1,16 +1,11 @@ +const logger = require('winston'); const _ = require('lodash'); -let logger = null; module.exports = { - setLogger, setNewValue, }; -function setLogger(l) { - logger = l; -} - function setNewValue(currentFileContent, depType, depName, newVersion) { logger.debug(`setNewValue: ${depType}.${depName} = ${newVersion}`); const parsedContents = JSON.parse(currentFileContent); diff --git a/app/index.js b/app/index.js index 693ec73ab653d7ee88772eeb0f29004988e52038..a3b31731a03422d1b3c5392457eed86b02bcc578 100644 --- a/app/index.js +++ b/app/index.js @@ -1,5 +1,7 @@ #!/usr/bin/env node +const logger = require('./logger'); + // Initialize config const configParser = require('./config/parser'); // Require main source @@ -19,8 +21,8 @@ config.repositories.forEach((repo) => { }); }); p.then(() => { // eslint-disable-line promise/always-return - config.logger.info('Renovate finished'); + logger.info('Renovate finished'); }) .catch((error) => { - config.logger.error(`Unexpected error: ${error}`); + logger.error(`Unexpected error: ${error}`); }); diff --git a/app/logger.js b/app/logger.js new file mode 100644 index 0000000000000000000000000000000000000000..5097e1a41d6fa988619a869db818596cf75b4929 --- /dev/null +++ b/app/logger.js @@ -0,0 +1,13 @@ +const logger = require('winston'); + +// Set log level from environment. It may be overriden later by configuration +logger.level = process.env.LOG_LEVEL || 'info'; + +// Colorize console logs +logger.configure({ + transports: [ + new (logger.transports.Console)({ colorize: true }), + ], +}); + +module.exports = logger; diff --git a/app/renovate.js b/app/renovate.js index d59eec0ca20459926ae74e52f20fda21ec77fccc..8dc6e3d9dd834d8e7bcbf332a19e4e989b97309a 100644 --- a/app/renovate.js +++ b/app/renovate.js @@ -1,23 +1,20 @@ +const logger = require('winston'); const changelog = require('changelog'); const github = require('./helpers/github'); const npm = require('./helpers/npm'); const packageJson = require('./helpers/package-json'); let config = null; -let logger = null; module.exports = renovate; // This function manages the queue per-package file function renovate(repoName, packageFile, setConfig) { // Initialize globals - logger = setConfig.logger; config = Object.assign({}, setConfig); // Initialize helpers - github.init(config.token, logger); - npm.setLogger(logger); - packageJson.setLogger(logger); + github.init(config.token); changelog.setGitHubToken(config.token); logger.info(`Processing ${repoName} ${packageFile}`); diff --git a/test/helpers/npm.js b/test/helpers/npm.js index 3d2f7b63e28e89ecc984a64a344aa6c3db58f32d..3d9274b49d45a8488019ca61c29d65f5f8b5fd04 100644 --- a/test/helpers/npm.js +++ b/test/helpers/npm.js @@ -7,8 +7,6 @@ const defaultTypes = ['dependencies', 'devDependencies']; chai.should(); -npm.setLogger(winston); - const input01Content = fs.readFileSync('./test/_fixtures/package.json/inputs/01.json', 'utf8'); const input02Content = fs.readFileSync('./test/_fixtures/package.json/inputs/02.json', 'utf8'); diff --git a/test/helpers/package-json.js b/test/helpers/package-json.js index 0a27c47178b7eae6df9f18c1a5349ab7ca8b2fe1..689c041d7e84c62890a17074a697311c639ffd80 100644 --- a/test/helpers/package-json.js +++ b/test/helpers/package-json.js @@ -1,9 +1,6 @@ const expect = require('chai').expect; const fs = require('fs'); const packageJson = require('../../app/helpers/package-json'); -const winston = require('winston'); - -packageJson.setLogger(winston); const inputContent = fs.readFileSync('./test/_fixtures/package.json/inputs/01.json', 'utf8');