Skip to content

Commit

Permalink
[#117] loglevel default logger
Browse files Browse the repository at this point in the history
  • Loading branch information
feelform committed Dec 29, 2022
1 parent 04b186b commit 71c06ff
Show file tree
Hide file tree
Showing 4 changed files with 41 additions and 34 deletions.
10 changes: 4 additions & 6 deletions lib/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ const path = require('path')
const fs = require('fs')
const defaultConfig = require('./pinpoint-config-default')
const log = require('./utils/logger')
const { setLog } = require('./supports')
const { makeLogLevelLog } = require('./utils/log/log-level-logger')

const valueOfString = (envName) => {
return () => {
Expand Down Expand Up @@ -142,6 +144,7 @@ const init = (initOptions = {}) => {
readConfigJson(initOptions))

log.init(agentConfig.logLevel)
setLog(makeLogLevelLog(agentConfig.logLevel))

Object.entries(REQUIRE_CONFIG).forEach(([propertyName, description]) => {
if (agentConfig.enable && !agentConfig[propertyName]) {
Expand Down Expand Up @@ -247,15 +250,10 @@ function hasDockerCGroup() {
}
}

function needsLoadConfig() {
return !agentConfig
}

module.exports = {
getConfig,
clear,
readConfigJson,
readRootConfigFile,
getMainModulePath,
needsLoadConfig
getMainModulePath
}
30 changes: 4 additions & 26 deletions lib/supports.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@
'use strict'

const Logger = require('./utils/log/logger2')
const { getConfig, needsLoadConfig } = require('./config')
const defaultLog = require('loglevel').getLogger('default_logger')

let log = undefined
module.exports = {
Expand All @@ -17,8 +15,8 @@ module.exports = {
return log
}

if (needsLoadConfig()) {
return new Logger.NoneBuilder({
if (!log) {
log = new Logger.NoneBuilder({
output: console,
debug: function (message) {
this.output.debug(message)
Expand All @@ -34,29 +32,9 @@ module.exports = {
}
}).build()
}

const config = getConfig()
if (!log) {
defaultLog.setLevel(Logger.logTypeNameOf(config.logLevel))
log = Logger.makeBuilder(config.logLevel, {
log: defaultLog,
debug: function (message) {
this.log.debug(message)
},
info: function (message) {
this.log.info(message)
},
warn: function (message) {
this.log.warn(message)
},
error: function (message) {
this.log.error(message)
}
}).build()
}
return log
},
clearLog: function () {
log = undefined
setLog: function(logger) {
log = logger
}
}
31 changes: 31 additions & 0 deletions lib/utils/log/log-level-logger.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
/**
* Pinpoint Node.js Agent
* Copyright 2022-present NAVER Corp.
* Apache License v2.0
*/

'use strict'

const defaultLog = require('loglevel').getLogger('pinpoint-console-logger')
const Logger = require('./logger2')

module.exports = {
makeLogLevelLog: function (logLevel) {
defaultLog.setLevel(Logger.logTypeNameOf(logLevel))
return Logger.makeBuilder(logLevel, {
log: defaultLog,
debug: function (message) {
this.log.debug(message)
},
info: function (message) {
this.log.info(message)
},
warn: function (message) {
this.log.warn(message)
},
error: function (message) {
this.log.error(message)
}
}).build()
}
}
4 changes: 2 additions & 2 deletions test/utils/log/logger.integration.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

'use strict'
const test = require('tape')
const { getLog, clearLog } = require('../../../lib/supports')
const { getLog, setLog } = require('../../../lib/supports')
const Agent = require('../../../lib/agent')
const { clear, getConfig } = require('../../../lib/config')

Expand Down Expand Up @@ -44,7 +44,7 @@ test('no config logger', (t) => {

test('logger full cycle', (t) => {
clear()
clearLog()
setLog(null)
let actual = getLog()
t.true(actual.adaptor.output.output === console, 'when no configuration loaded, logs use console output')
getConfig()
Expand Down

0 comments on commit 71c06ff

Please sign in to comment.