如何使用节点 js 在 log4js 包中以这种格式“23-May-17 12:05:37”转换日志文件时间
How can convert log file time in this format "23-May-17 12:05:37" in log4js package using node js
我正在尝试将此日期时间格式 [2017-05-23 12:05:37.327] 的日志时间更改为 23-May-17 12:05:37。
我正在使用这个包:
https://www.npmjs.com/package/log4js
这里是node4js的文件配置。
{
"appenders": [
{
"type": "file",
"filename": "logs/v_1_0_9.log",
"maxLogSize":1073741824,
"backups": 10,
"pattern": "%d{dd/MM hh:mm} %-5p %m"
"category": "logger"
}
],
"replaceConsole": true
}
我的代码输出
[2017-05-24 15:57:00.924] [信息] 记录器 - 测试
但以上输出不是我的预期。
这里的预期输出:
[23-May-17 12:05:37] [INFO] 记录器 - 测试
请帮忙提前致谢。
这是一个问题:
const date = new Date('2017-05-23 12:05:37.327').toString('dd-MMM-yy hh:mm:ss')
编辑:抱歉,这是一个 log4js 解决方案:
var log4js = require('log4js');
var monthNames = [
"January", "February", "March",
"April", "May", "June", "July",
"August", "September", "October",
"November", "December"
];
log4js.configure({
appenders: [{
type: "console",
layout: {
type: "pattern",
pattern: "%x{ln} %-5p %m",
tokens: {
ln: function (data) {
const date = new Date();
var day = date.getDate();
var monthIndex = date.getMonth();
var year = date.getFullYear();
var hours = date.getHours();
var minutes = date.getMinutes();
var seconds = date.getSeconds();
return day + '-' + monthNames[monthIndex] + '-' + year + ' ' + hours + ':' + minutes + ':'
+ seconds;
}
}
}
}],
});
var logger = log4js.getLogger('cheese');
logger.debug('test');
输出:29-May-2017 14:39:4 DEBUG test
编辑 2:
conf.json:
{
"appenders": [
{
"type": "console",
"layout": {
"type": "pattern",
"pattern": "%x{ln} %-5p %m",
"tokens": {}
}
}
]
}
logger.js:
var log4js = require('log4js');
var config = require('./conf.json')
var monthNames = [
"January", "February", "March",
"April", "May", "June", "July",
"August", "September", "October",
"November", "December"
];
config.appenders[0].layout.tokens.ln = function () {
const date = new Date();
var day = date.getDate();
var monthIndex = date.getMonth();
var year = date.getFullYear();
var hours = date.getHours();
var minutes = date.getMinutes();
var seconds = date.getSeconds();
return day + '-' + monthNames[monthIndex] + '-' + year + ' ' + hours + ':' + minutes + ':'
+ seconds;
};
log4js.configure(config);
var logger = log4js.getLogger('cheese');
logger.debug('test');
我正在尝试将此日期时间格式 [2017-05-23 12:05:37.327] 的日志时间更改为 23-May-17 12:05:37。 我正在使用这个包: https://www.npmjs.com/package/log4js
这里是node4js的文件配置。
{
"appenders": [
{
"type": "file",
"filename": "logs/v_1_0_9.log",
"maxLogSize":1073741824,
"backups": 10,
"pattern": "%d{dd/MM hh:mm} %-5p %m"
"category": "logger"
}
],
"replaceConsole": true
}
我的代码输出
[2017-05-24 15:57:00.924] [信息] 记录器 - 测试
但以上输出不是我的预期。
这里的预期输出:
[23-May-17 12:05:37] [INFO] 记录器 - 测试
请帮忙提前致谢。
这是一个问题:
const date = new Date('2017-05-23 12:05:37.327').toString('dd-MMM-yy hh:mm:ss')
编辑:抱歉,这是一个 log4js 解决方案:
var log4js = require('log4js');
var monthNames = [
"January", "February", "March",
"April", "May", "June", "July",
"August", "September", "October",
"November", "December"
];
log4js.configure({
appenders: [{
type: "console",
layout: {
type: "pattern",
pattern: "%x{ln} %-5p %m",
tokens: {
ln: function (data) {
const date = new Date();
var day = date.getDate();
var monthIndex = date.getMonth();
var year = date.getFullYear();
var hours = date.getHours();
var minutes = date.getMinutes();
var seconds = date.getSeconds();
return day + '-' + monthNames[monthIndex] + '-' + year + ' ' + hours + ':' + minutes + ':'
+ seconds;
}
}
}
}],
});
var logger = log4js.getLogger('cheese');
logger.debug('test');
输出:29-May-2017 14:39:4 DEBUG test
编辑 2: conf.json:
{
"appenders": [
{
"type": "console",
"layout": {
"type": "pattern",
"pattern": "%x{ln} %-5p %m",
"tokens": {}
}
}
]
}
logger.js:
var log4js = require('log4js');
var config = require('./conf.json')
var monthNames = [
"January", "February", "March",
"April", "May", "June", "July",
"August", "September", "October",
"November", "December"
];
config.appenders[0].layout.tokens.ln = function () {
const date = new Date();
var day = date.getDate();
var monthIndex = date.getMonth();
var year = date.getFullYear();
var hours = date.getHours();
var minutes = date.getMinutes();
var seconds = date.getSeconds();
return day + '-' + monthNames[monthIndex] + '-' + year + ' ' + hours + ':' + minutes + ':'
+ seconds;
};
log4js.configure(config);
var logger = log4js.getLogger('cheese');
logger.debug('test');