最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

用log4js在新的不同文件中写入日志吗?

运维笔记admin7浏览0评论

用log4js在新的不同文件中写入日志吗?

用log4js在新的不同文件中写入日志吗?

我想将日志写入不同的文件。

const log4js = require('log4js');
log4js.configure({
    appenders: { integra: { type: 'file', filename: './logs/doc.log' } },
    categories: { default: { appenders: ['doc'], level: 'error' } }
});
const logger = log4js.getLogger('doc');

module.exports = logger

根据上面的代码,我只能配置一次日志。但是我想为每个日志动态地写一个日志文件。在上述情况下,我只能写一个文件。我需要一种可以写入新日志文件的方法。我想在不同的路径上写入多个日志文件。

回答如下:

使用MultiFile Appender将日志动态写入多个文件,您的log4js配置看起来像这样:

  appenders: { integra: {  type: 'multiFile', base: 'logs/', property: 'prop', extension: '.log'} },

其中:

  1. base:生成的日志文件名的基础部分
  2. 属性:用于分割文件的值
  3. 扩展名:生成的日志文件名的后缀。

这是一个用于为每个用户创建日志文件的示例:

const log4js = require('log4js');
const uuidv1 = require('uuid/v1'); //used for generating random string

log4js.configure({
    appenders: {
      everything: {
        type: 'multiFile', base: 'logs/', property: 'userID', extension: '.log'
      }
    },
    categories: {
      default: { appenders: [ 'everything' ], level: 'debug'}
    }
  });

  const userLogger = log4js.getLogger('user');

    userLogger.addContext('userID', uuidv1()); 
    userLogger.info('New file created');
    userLogger.addContext('userID', uuidv1());
    userLogger.info('New file created');
发布评论

评论列表(0)

  1. 暂无评论