pinpoint-node-agent
Version:
Pinpoint node agent provided by NAVER
73 lines (58 loc) • 1.32 kB
JavaScript
/**
* Pinpoint Node.js Agent
* Copyright 2020-present NAVER Corp.
* Apache License v2.0
*/
'use strict'
const loglevel = require('loglevel')
class Logger {
constructor() {
this.LOG_LEVEL = loglevel.levels
this.DEFAULT_LEVEL = this.LOG_LEVEL.WARN
this.DEFAULT_NAME = 'default_logger'
this.enableLogError = false
this.init()
}
init(logLevel, name) {
this.logger = loglevel.getLogger(name || this.DEFAULT_NAME)
this.logger.setLevel(logLevel || this.DEFAULT_LEVEL)
}
setEnableLogError(enable = false) {
this.enableLogError = enable
}
get log() {
if (!this.logger) {
this.init()
this.logger.info('init logger with default level')
}
return this.logger
}
debug() {
this.logger.debug.apply(null, arguments)
}
isDebug() {
if (!this.logger) {
return false
}
return this.logger.getLevel() == this.LOG_LEVEL.DEBUG
}
info() {
this.logger.info.apply(null, arguments)
}
isInfo() {
if (!this.logger) {
return false
}
return this.logger.getLevel() == this.LOG_LEVEL.INFO
}
warn() {
this.logger.warn.apply(null, arguments)
}
error() {
if (this.enableLogError == false) {
return
}
this.logger.error.apply(null, arguments)
}
}
module.exports = new Logger()