Winston javascript记录器正在创建两个单独的日志文件。如何将所有条目记录到单个文件中?

廷巴里斯托

我正在尝试使用Winstonwinston-daily-rotate-file将来自node.js服务器的所有控制台/日志输出记录到一个文件中(希望)每天在午夜旋转。

我遇到的问题是未处理的异常似乎会生成一个新的日志文件,而不是写入现有的日志文件。有关复制行为,请参见下面的示例代码。如何将所有输出保存到单个日志文件以及输出到控制台?目前,控制台方面似乎还不错,但是请随时指出我所缺少的明显内容。

  • 操作系统:Win 10
  • 节点:v12.16.0
  • npm:v6.13.4
  • 温斯顿:v3.2.1
  • 温斯顿每日旋转文件:v4.4.2
    const winston = require('winston');
    const DailyRotateFile = require('winston-daily-rotate-file');
    const path = require('path');

    var logger = new (winston.createLogger)({
        transports: [
            new (winston.transports.Console)({
                format: winston.format.combine(
                    winston.format.timestamp(),
                    winston.format.colorize({ all: true }),
                    winston.format.printf((info) => {
                        const {
                            timestamp, level, message
                        } = info;
                        return `${timestamp} - ${level}: ${message}`;
                    }),
                ),
                handleExceptions: true
             }),
            new DailyRotateFile({
                name: 'file',
                datePattern: 'YYYY-MM-DDTHH-mm-ss',
                handleExceptions: true,
                format: winston.format.combine(
                    winston.format.timestamp(),
                    winston.format.printf((info) => {
                        const {
                            timestamp, level, message
                        } = info;
                        return `${timestamp} - ${level}: ${message}`;
                    }),
                ),
                filename: path.join(__dirname, 'logs', '%DATE%.log')
            }),
        ]
    });

    logger.info("This is an info message");
    logger.error("This is an error message");
    setTimeout(() => {throw new Error('oh dear!')}, 5000);
廷巴里斯托

我的问题是由datePattern选项引起的。winston-daily-rotate-file使用此模式来确定文件旋转的频率。因为我在模式中包括了几秒钟,所以它正在寻找具有当前时间戳记的文件(精确到秒),并在写入文件之前创建它。

要获取每日文件,我只需要更改

datePattern: 'YYYY-MM-DDTHH-mm-ss'

datePattern: 'YYYY-MM-DD'

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何刷新Winston日志?

来自分类Dev

为所有模块设置默认的Winston记录器

来自分类Dev

是Winston日志记录框架真正是异步的

来自分类Dev

查询Winston日志返回空结果

来自分类Dev

Node.js Winston日志记录-exitOnError

来自分类Dev

Nodejs Winston记录器-日志输出到控制台和文件

来自分类Dev

Winston错误的日志配置

来自分类Dev

Node.js Winston弹性搜索记录器

来自分类Dev

Winston日志中的奇怪符号

来自分类Dev

如何在Winston自定义传输功能中获取记录器名称?

来自分类Dev

NodeJS记录器:winston.transports.DailyRotateFile不是函数

来自分类Dev

Winston记录器未在新行上打印

来自分类Dev

如何在进程退出之前强制将Node.js Winston日志记录到文件

来自分类Dev

无法使用NestJS注入Winston的记录器实例

来自分类Dev

如何关闭Winston的日志以防开玩笑

来自分类Dev

Azure App Insights不从Winston收集日志

来自分类Dev

使用Winston记录HAPI中所有未处理的异常

来自分类Dev

nodeJS Winston模块示例未记录到控制台

来自分类Dev

NodeJS Winston未写入日志文件

来自分类Dev

为什么Winston不会将错误记录到文件中?

来自分类Dev

使用Node.js的Winston模块正确记录到文件

来自分类Dev

Winston在Meteor中记录到MongoDB集合

来自分类Dev

NodeJS Winston记录大量写入错误

来自分类Dev

Winston记录器未在新行上打印

来自分类Dev

我可以在 nodejs 服务器的所有“.js”文件中使用 winston 日志记录功能吗?

来自分类Dev

如何在nodejs中对winston创建的日志文件进行存档?

来自分类Dev

Winston 记录器将“未定义”附加到每个日志条目

来自分类Dev

winstonjs 使用 winston.createLogger(...) 创建记录器

来自分类Dev

如何在 Winston 中将错误对象记录到文件而不是控制台?

Related 相关文章

  1. 1

    如何刷新Winston日志?

  2. 2

    为所有模块设置默认的Winston记录器

  3. 3

    是Winston日志记录框架真正是异步的

  4. 4

    查询Winston日志返回空结果

  5. 5

    Node.js Winston日志记录-exitOnError

  6. 6

    Nodejs Winston记录器-日志输出到控制台和文件

  7. 7

    Winston错误的日志配置

  8. 8

    Node.js Winston弹性搜索记录器

  9. 9

    Winston日志中的奇怪符号

  10. 10

    如何在Winston自定义传输功能中获取记录器名称?

  11. 11

    NodeJS记录器:winston.transports.DailyRotateFile不是函数

  12. 12

    Winston记录器未在新行上打印

  13. 13

    如何在进程退出之前强制将Node.js Winston日志记录到文件

  14. 14

    无法使用NestJS注入Winston的记录器实例

  15. 15

    如何关闭Winston的日志以防开玩笑

  16. 16

    Azure App Insights不从Winston收集日志

  17. 17

    使用Winston记录HAPI中所有未处理的异常

  18. 18

    nodeJS Winston模块示例未记录到控制台

  19. 19

    NodeJS Winston未写入日志文件

  20. 20

    为什么Winston不会将错误记录到文件中?

  21. 21

    使用Node.js的Winston模块正确记录到文件

  22. 22

    Winston在Meteor中记录到MongoDB集合

  23. 23

    NodeJS Winston记录大量写入错误

  24. 24

    Winston记录器未在新行上打印

  25. 25

    我可以在 nodejs 服务器的所有“.js”文件中使用 winston 日志记录功能吗?

  26. 26

    如何在nodejs中对winston创建的日志文件进行存档?

  27. 27

    Winston 记录器将“未定义”附加到每个日志条目

  28. 28

    winstonjs 使用 winston.createLogger(...) 创建记录器

  29. 29

    如何在 Winston 中将错误对象记录到文件而不是控制台?

热门标签

归档