node.js - Nodejs winston 记录端口 514 文件夹/yyyy/mm/dd/.log
问题描述
嗨,我想用 nodejs winston 记录 514 udp 端口。我想用相同的日志名称和不同的文件夹保存所有日志日记。示例 /listen/2019/11/04/test.log 第二天 /listen/2019/11/05/test.log 。我尝试但仅保存 1 个日期,并且日期更改时日志地址不会更改。
var winston = require('winston');
var d = new Date();
var year = d.getFullYear();
var month = (d.getMonth() + 1) ;
var day = d.getDate();
var n = d.getMinutes();
var shell = require('shelljs');
shell.mkdir('-p', '/listen/test/'+year+'/'+month+'/'+day);
var logger = winston.createLogger({
level: 'info',
format: winston.format.simple(),
defaultMeta: { service: 'user-service' },
transports: [
new winston.transports.File({ filename: 'error.log', level: 'error' }),
new winston.transports.File({ filename: '/listen/test/'+year+'/'+month+'/'+day+'/test.log' })
]
});
var PORT = 514;
var HOST = '0.0.0.0';
var dgram = require('dgram');
var server = dgram.createSocket('udp4');
server.bind(PORT, HOST);
server.on('listening', function () {
var address = server.address();
console.log('UDP Server listening on ' + address.address + ":" + address.port);
});
server.on('message', function (message, remote) {
logger.info(message);
});
解决方案
File
因为运输不旋转。您需要使用DailyRotateFile
附加模块:https ://github.com/winstonjs/winston-daily-rotate-file
推荐阅读
- asp.net - 我如何通过模型在 asp.net core 5.0 mvc 中查看
- apache-poi - Apache POI:获取公式错误的更多详细信息
- css - CSS:Chrome 检查器使用变换和自定义 css 变量动画失败
- swift - SwiftUI 中的可选状态或绑定
- ssis - 我们可以在 kimball 方法中的分析方面制作数据集市吗?
- excel - 在excel应用程序中。如何在单个图表中表示多个项目的趋势?
- ios - 如何在 Swift 中将我的长正则表达式提取到多行字符串?
- swift - 如果附件纹理是 type2DMultisample,则将 MTKView 渲染目标保存到 CGImage
- algorithm - 确定每个人阅读一本书的最短总时间
- java - Android:初始化Intent时找不到Class的符号