首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用Node.js库Winston将时间戳添加到日志?

如何使用Node.js库Winston将时间戳添加到日志?
EN

Stack Overflow用户
提问于 2012-04-23 03:33:59
回答 5查看 77.2K关注 0票数 108

我想将时间戳添加到日志中。实现这一目标的最佳方法是什么?

EN

回答 5

Stack Overflow用户

发布于 2018-02-02 06:55:08

上面的答案对我不起作用。如果您正在尝试使用最新版本的Winston - 3.0.0-rc1将时间戳添加到日志中,则可以使用以下方法:

代码语言:javascript
复制
    const {transports, createLogger, format} = require('winston');

    const logger = createLogger({
        format: format.combine(
            format.timestamp(),
            format.json()
        ),
        transports: [
            new transports.Console(),
            new transports.File({filename: 'logs/error/error.log', level: 'error'}),
            new transports.File({filename: 'logs/activity/activity.log', level:'info'})
        ]
    });

我使用了'format.combine()‘。因为我所有的传输都需要时间戳,所以我在createLogger中添加了格式化选项,而不是在每个传输中。我在控制台和文件(activity.log)上的输出如下:

代码语言:javascript
复制
{"message":"Connected to mongodb","level":"info","timestamp":"2018-02-01T22:35:27.758Z"}
{"message":"Connected to mongodb","level":"info","timestamp":"2018-02-01T22:35:27.758Z"}

我们可以像往常一样在'format.combine()‘中将格式添加到这个时间戳中,使用:

代码语言:javascript
复制
format.timestamp({format:'MM-YY-DD'})
票数 110
EN

Stack Overflow用户

发布于 2018-04-30 19:02:19

我们也可以这样做

代码语言:javascript
复制
var winston = require('winston');
const { createLogger, format, transports } = require('winston');
var config = require('../configurations/envconfig.js');

var loggerLevel = process.env.LOGGERLEVEL ||  config.get('LOGGERLEVEL');

var logger = winston.createLogger({
  format: format.combine(
    format.timestamp({
      format: 'YYYY-MM-DD HH:mm:ss'
    }),
    format.printf(info => `${info.timestamp} ${info.level}: ${info.message}`+(info.splat!==undefined?`${info.splat}`:" "))
  ),
  transports: [
    new (winston.transports.Console)({ level: loggerLevel }),
  ]
});
module.exports = logger;
票数 27
EN

Stack Overflow用户

发布于 2016-06-22 03:45:17

我们可以使用console-stamp向现有控制台添加时间戳和日志级别:require('console-stamp')(console, '[yyyy-mm-dd HH:MM:ss.l]')

详情请参阅https://github.com/starak/node-console-stamp

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10271373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档