使用nodejs+log4js来输出日志 log4js版本:^3.0.0
参考中文文档:http://www.wangweilin.net/static/pages/log4js-node.html
// 当前日志需求:// - 请求外部的接口(如sina接口)报错时写入sina.xau.error.log中// - 内部分析数据时出可知异常时写入rich.xau.log中// - 内部分析数据时正常时写入rich.xau.log中// log4js 中文文档 http://www.wangweilin.net/static/pages/log4js-node.htmlconst log4js = require('log4js');const path = require('path');// 日志输出位置const XAU_LOG = path.resolve(__dirname, '../../log/sina.xau.error');const RICH_XAU_LOG = path.resolve(__dirname, '../../log/rich.xau');// log级别为8级 ALL<TRACE<DEBUG<INFO<WARN<ERROR<FATAL<MARK<OFF。(不区分大小写)// 日志输出类型:file文件,console控制台,dateFile按时间变化的文件(一天创建一个日志文件)log4js.configure({// pm2要设置为truepm2: true,// 输出到哪appenders: {// 普通的控制台输出类型console: {type: 'console', // 日志类型},// sina伦敦金的日志sinaXAU: {type: 'dateFile', // 日志类型filename: XAU_LOG, //日志名maxLogSize: 10000000, // 日志的最大大小encoding: 'utf-8', // 日志编码pattern: '.yyyy-MM-dd.log', // 日志名后缀的模板alwaysIncludePattern: true, // 和pattern同时使用 设置每天生成log名},// 内部处理伦敦金数据的日志richXAU: {type: 'dateFile', // 日志类型文字filename: RICH_XAU_LOG, //日志名maxLogSize: 10000000, // 日志的最大大小encoding: 'utf-8', // 日志编码pattern: '.yyyy-MM-dd.log', // 日志名后缀的模板alwaysIncludePattern: true, // 和pattern同时使用 设置每天生成log名},},/*** 日志的分类* default:必填当所有的日志没有匹配到对应的分类时会使用该分类进行输出* appenders:匹配上后使用哪些appenders* level:输出等级过滤*/categories: {// 默认分类,当所有的日志没有匹配到对应的分类时会使用该分类进行输出default: {appenders: ['console',],level: 'all',},// 伦敦金错误日志sinaXAU: {appenders: ['sinaXAU',],level: 'error'},// 项目处理日志richXAU: {appenders: ['richXAU',],level: 'info'}}});const sinaXauLog = log4js.getLogger('sinaXAU');const richXauLog = log4js.getLogger('richXAU');// 伦敦金日志(由于日志错误级别是error,info和warn会被过滤掉)sinaXAU.info('sinaXAU_info');sinaXAU.warn('sinaXAU_warn');sinaXAU.error('sinaXAU_error');// 致富项目日志(由于日志错误级别是info,debug会被过滤掉)richXAU.debug('richXAU_debug');richXAU.info('richXAU_info');richXAU.warn('richXAU_warn');richXAU.error('richXAU_error');
