123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- // https://blog.csdn.net/crazy_jialin/article/details/121673336
- // logger.js
- const log4js = require('log4js')
- var { logger_config } = require('../config/config.js')
- const BASE_PATH = logger_config.BASE_PATH
- log4js.configure({
- appenders: {
- consoleOut: {
- type: 'console',
- layout: {
- type: 'colored',
- },
- },
- default: {
- type: 'file',
- filename: BASE_PATH + `/denet_node_server_logger`,
- pattern: 'yyyy-MM-dd.log',
- alwaysIncludePattern: true, // 当为 true 时,log 文件名会包含之前设置的 pattern 信息 (默认为 false,但是强烈建议开启)
- },
- error: {
- type: 'file',
- filename: BASE_PATH + `/denet_node_server_logger_error`,
- pattern: 'yyyy-MM-dd.log',
- alwaysIncludePattern: true,
- },
- transfer: {
- type: 'file',
- filename: BASE_PATH + `/denet_node_server_logger_transfer`,
- pattern: 'yyyy-MM-dd.log',
- alwaysIncludePattern: true,
- },
- },
- categories: {
- default: {
- appenders: ['consoleOut', 'default'],
- level: 'all',
- },
- error: {
- appenders: ['consoleOut', 'error'],
- level: 'warn',
- },
- transfer: {
- appenders: ['consoleOut', 'transfer'],
- level: 'all',
- },
- },
- })
- const defaultLogger = log4js.getLogger('default') // 普通级别的logger,输出到控制台和日期分类的文件
- const errorLogger = log4js.getLogger('error') // 错误信息的logger,输出到控制台和error.log中
- const transferLogger = log4js.getLogger('transfer') // 转账信息的logger,输出到控制台和error.log中
- module.exports = {
- // info及以下级别的日志采用default策略,使用call函数改变this指向,否则会导致logger内部this指向报错
- trace() {
- return defaultLogger.trace.call(defaultLogger, ...arguments)
- },
- debug() {
- return defaultLogger.debug.call(defaultLogger, ...arguments)
- },
- info() {
- return defaultLogger.info.call(defaultLogger, ...arguments)
- },
- log() {
- return defaultLogger.debug.call(defaultLogger, ...arguments)
- },
- // warn及以上的日志采用error策略
- warn() {
- errorLogger.warn.call(errorLogger, ...arguments)
- },
- error() {
- errorLogger.error.call(errorLogger, ...arguments)
- },
- fatal() {
- errorLogger.fatal.call(errorLogger, ...arguments)
- },
- mark() {
- errorLogger.mark.call(errorLogger, ...arguments)
- },
- //转账log
- tlog(){
- return transferLogger.debug.call(transferLogger, ...arguments)
- }
- }
- //use
- // const logger = require('./logger')
- // logger.trace('trace log')
- // logger.debug('debug log')
- // logger.info('info log')
- // logger.warn('warn log')
- // logger.error('error log')
- // logger.fatal('fatal log')
- // logger.mark('mark log')
|