Min*_*dın 1 javascript logging node.js express winston
我有一个 Node.js 应用程序。我需要记录该程序中的每个事件,为此我使用温斯顿库。我正在尝试为每一天创建一个日志文件。所有日志应逐日分开。我想将日常文件保存在桌面上。例如,我今天完成的请求(我的程序中的操作)将在我的桌面上保存为 18/10/2019.log。明天,当我再次执行一些请求(例如:获取、发布)时,应再次在桌面上记录为 19/10/2019.log。我不能这样做。有什么建议么?
编辑:解决了!
用winston-daily-rotate-file,就解决了。要使用该模块:
npm install winston-daily-rotate-file
Run Code Online (Sandbox Code Playgroud)
代码:
require('winston-daily-rotate-file');
const logDir= 'C://Users/Desktop/LogFiles';
var options = {
file: {
level:'info',
filename: path.resolve(`${logDir}/${new
Date().getFullYear().toString()} - ${new Date().getMonth()+1}/%DATE%.log`),
datePattern: 'YYYY-MM-DD',
timestamp: new Date()
};
let logger = winston.createLogger({
level:'info',
format: winston.format.combine(
winston.format.printf(info => { return `${info.timestamp} ||
${info.level} || Message: ${info.message}`; })
),
transports: [
new winston.transports.DailyRotateFile(options.file)
],
exitOnError: false,
});
Run Code Online (Sandbox Code Playgroud)
小智 6
安装温斯顿每日轮换
npm install winston-daily-rotate-file
注意:首先检查兼容性
var winston = require('winston');
require('winston-daily-rotate-file');
var fileRotateTransport = new (winston.transports.DailyRotateFile)({
filename: '%DATE%.log',
datePattern: 'DD/MM/YYYY',
maxSize: '20m'
});
var logger = winston.createLogger({
transports: [
fileRotateTransport
]
});
Run Code Online (Sandbox Code Playgroud)
检查温斯顿每日轮换选项以根据您的要求进行配置。
| 归档时间: |
|
| 查看次数: |
3785 次 |
| 最近记录: |