更新时间:2022-09-13 11:50:06
首先使用nodejs标准的文件系统module fs
const fs = require('fs');
日志一般都要打时间戳,所以导入时间戳工具:
const dateTime = require('node-datetime');
根据不同的日志级别写入本文log文件:
var log = { setName:function(message) { logName = message; }, all:function(message){ console.log(getDate() + ' [ ALL - '+prepareLogName()+'] '+ message); writeMessage(getDate() + ' [ ALL - '+prepareLogName()+'] '+ message); }, trace:function(message){ console.log(getDate() + ' [ TRACE - '+prepareLogName()+'] '+ message); writeMessage(getDate() + ' [ TRACE - '+prepareLogName()+'] '+ message); }, debug:function(message){ console.log(getDate() + ' [ DEBUG - '+prepareLogName()+'] '+ message); writeMessage(getDate() + ' [ DEBUG - '+prepareLogName()+'] '+ message); }, info:function(message){ debugger; console.log(getDate() + ' [ INFO - '+prepareLogName()+'] '+ message); writeMessage(getDate() + ' [ INFO - '+prepareLogName()+'] '+ message); }, warn:function(message){ console.log(getDate() + ' [ WARN - '+prepareLogName()+'] '+ message); writeMessage(getDate() + ' [ WARN - '+prepareLogName()+'] '+ message); }, error:function(message){ console.log(getDate() + ' [ ERROR - '+prepareLogName()+'] '+ message); writeMessage(getDate() + ' [ ERROR - '+prepareLogName()+'] '+ message); }, fatal:function(message){ console.log(getDate() + ' [ FATAL - '+prepareLogName()+'] '+ message); writeMessage(getDate() + ' [ FATAL - '+prepareLogName()+'] '+ message); }, off:function(message){ console.log(getDate() + ' [ OFF - '+prepareLogName()+'] '+ message); writeMessage(getDate() + ' [ OFF - '+prepareLogName()+'] '+ message); } }
writeMessage方法的实现:调用fs同步写入本地日志文件:
function writeMessage(message) { pwd = process.cwd(); fs.appendFileSync(pwd+'/logs/log', message+"\n"); }