javascript - 将控制台传输附加到 Winston 日志记录

标签 javascript node.js logging winston

所以我正在尝试将控制台作为传输连接到 winston logger。下面是我的代码。

winston.add(winston.transports.Console, {
    level: 'info',
    colorize: true,
    timestamp: true,
    json: false,
    stringify: false,
    prettyPrint: true,
    depth: 5,
    humanReadableUnhandledException: true,
    showLevel: true,
    stderrLevels: ['error', 'debug']
});

但是当我启动应用程序时,出现以下错误。

C:\Users\xxxxx\yyyyy\javascript\MyApp\node_modules\winston\lib\winston\logger.js:481
    throw new Error('Transport already attached: ' + instance.name + ", assign a different name");
    ^

Error: Transport already attached: console, assign a different name
    at Logger.add (C:\Users\xxxxx\yyyyy\javascript\MyApp\node_modules\winston\lib\winston\logger.js:481:11)
    at Object.winston.(anonymous function) [as add] (C:\Users\xxxxx\yyyyy\javascript\MyApp\node_modules\winston\lib\winston.js:87:34)
    at Object.<anonymous> (C:\Users\xxxxx\yyyyy\javascript\MyApp\app.js:36:9)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (C:\Users\xxxxx\yyyyy\javascript\MyApp\bin\www:7:11)

现在,我知道我的控制台已经默认连接到记录器。但是我额外写这个是因为我想根据自己的喜好更改配置。

谁能建议我如何实现这一目标?我是否必须添加一些其他语法才能更改已连接传输的配置,或者是否有任何方法可以使用我正在使用的相同代码来解决这个问题?

请提出建议。

最佳答案

如果您已经连接了相同类型的传输,则需要为新传输命名:

winston.add(winston.transports.Console, {
  name : 'UNIQUE_NAME_HERE',
  level: 'info',
  ...
});

已记录 here .

关于javascript - 将控制台传输附加到 Winston 日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39634844/

相关文章:

java - 如何使用 Log4j2 xml Rewrite appender 在登录文件之前修改 LogEvent

python - 如何将 scrapy.log 模块与自定义日志处理程序一起使用?

mysql - 如何更改mysql通用日志路径

Javascript 调试 : stopping/breaking at every javascript invocation

node.js - 通过nodemailer发送电子邮件

node.js - 为什么测试时我的 cookie 在我的处理函数中不可用?

javascript - 服务器关闭时触发事件 (NodeJS)

javascript - Javascript 自定义数据类型和对象有什么区别?

javascript - 如何在 Angular 4 中的指令元素之后创建元素

javascript - 如何设置组件边框底线宽度?