log4js

234 阅读2分钟

npm i log4js,然后就创建一个js文件,把这些粘进去 let path = window.require('path') let log4js = window.require('log4js') const { remote } = window.require('electron') const LOG_PATH = path.join(remote.app.getPath('userData'), 'logsApp') console.log(path, log4js, LOG_PATH)

log4js.configure({ appenders: { // 设置控制台输出 (默认日志级别是关闭的(即不会输出日志)) out: { type: 'console' // 配置了这一项,除了会输出到日志文件,也会输出到控制台 }, // 设置每天:以日期为单位,数据文件类型,dataFiel 注意设置pattern,alwaysIncludePattern属性 alldateFileLog: { daysToKeep: 5, type: 'dateFile', filename: path.join(LOG_PATH, 'log'), pattern: '.yyyy-MM-dd.log', // 每天生成按这个格式拼接到filename后边 keepFileExt: true, // 文件名是否需要加".log"后缀 alwaysIncludePattern: true // 始终包含pattern }, // 设置每天:以日期为单位,数据文件类型,dataFiel 注意设置pattern,alwaysIncludePattern属性 httpLog: { daysToKeep: 5, type: 'dateFile', filename: path.join(LOG_PATH, 'http'), pattern: '.yyyy-MM-dd.log', keepFileExt: true, // 文件名是否需要加".log"后缀 alwaysIncludePattern: true // layout: { // type: 'pattern', // pattern: '时间:%d{yyyy-MM-dd hh:mm:ss,SSS}%n级别:[%p]%n消息:%m%n------------------------------------' // } }, // 设置每天:以日期为单位,数据文件类型,dataFiel 注意设置pattern,alwaysIncludePattern属性 writeCardLog: { daysToKeep: 5, type: 'dateFile', filename: path.join(LOG_PATH, 'writeCard'), pattern: '.yyyy-MM-dd.log', keepFileExt: true, // 文件名是否需要加".log"后缀 alwaysIncludePattern: true // layout: { // type: 'pattern', // pattern: '时间:%d{yyyy-MM-dd hh:mm:ss,SSS}%n级别:[%p]%n消息:%m%n------------------------------------' // } }, // 设置每天:以日期为单位,数据文件类型,dataFiel 注意设置pattern,alwaysIncludePattern属性 sqlLog: { daysToKeep: 5, type: 'dateFile', filename: path.join(LOG_PATH, 'sql'), pattern: '.yyyy-MM-dd.log', keepFileExt: true, // 文件名是否需要加".log"后缀 alwaysIncludePattern: true }, caselog: { daysToKeep: 5, type: 'dateFile', filename: path.join(LOG_PATH, 'sql'), pattern: '.yyyy-MM-dd.log', keepFileExt: true, // 文件名是否需要加".log"后缀 alwaysIncludePattern: true }, // crashLog: { // type: 'file', // filename: path.join(LOG_PATH, 'crash.log') // }, error: { daysToKeep: 5, type: 'logLevelFilter', level: 'error', appender: 'errorLog' } }, // 不同等级的日志追加到不同的输出位置:appenders: ['out', 'allLog'] categories 作为getLogger方法的键名对应 categories: { date: { appenders: ['out', 'alldateFileLog'], level: 'debug' }, http: { appenders: ['out', 'httpLog'], level: 'debug' }, writeCard: { appenders: ['out', 'writeCardLog'], level: 'debug' }, sql: { appenders: ['out', 'sqlLog'], level: 'debug' }, // crash: { // appenders: ['out', 'crashLog'], // level: "debug" // }, default: { appenders: ['out', 'alldateFileLog'], level: 'debug' } } })

export default { default: log4js.getLogger('date'), http: log4js.getLogger('http'), sql: log4js.getLogger('sql'), writeCard: log4js.getLogger('writeCard'), case:log4js.getLogger('caselog') // crash: log4js.getLogger('crash') }

使用log4js

if (config.url !== '/audio/SyllableRetrieval') { if (config.url !== '/audio/SyllableRetrieval') { logger4j.http.debug('请求地址:' + config.url, '请求参数:' + JSON.stringify(config.params), '请求体:' + JSON.stringify(config.data)) } logger4j.http.debug(' 响应内容:' + JSON.stringify(res.data)) }