首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >温斯顿:尝试编写没有传输的日志--使用默认的记录器。

问温斯顿:尝试编写没有传输的日志--使用默认的记录器。
EN

Stack Overflow用户
提问于 2018-08-25 12:06:52
回答 3查看 25.6K关注 0票数 24

我按照教程在我的快递应用程序中设置了温斯顿(2.x)默认记录器。在更新到温斯顿的当前版本(3.0.0)时,我在添加传输时遇到了问题。我跟踪了最新文档,但仍然在控制台中得到通知,根本没有创建日志文件:

温斯顿试图在没有传输的情况下写日志

logging.js

代码语言:javascript
复制
const winston = require('winston');

module.exports = function () {

  const files = new winston.transports.File({ filename: 'logfile.log' });
  const myconsole = new winston.transports.Console();

  winston.add(myconsole);
  winston.add(files);

}

index.js

代码语言:javascript
复制
const winston = require('winston');
...

require('./logging');
winston.info("Give some info");

温斯顿试图写没有传输的日志{“消息”:“提供一些信息”,“级别”:“信息”}

我做错什么了?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-11-18 17:14:22

我也有类似的问题。如果我没记错的话,我必须将需求作为函数调用到我的index.js中。

代码语言:javascript
复制
require('./logging')();
票数 4
EN

Stack Overflow用户

发布于 2018-08-31 18:35:14

在温斯顿3中,您需要创建一个logger对象,然后向它添加transports。

温斯顿3有许多示例,但是为了适应自述文件,可以这样做:

代码语言:javascript
复制
const logger = winston.createLogger({
  level: 'info',
  format: winston.format.json(),
  transports: [
    new winston.transports.Console(),
    new winston.transports.File({ filename: 'logfile.log' })
  ]
});

logger.info('it works!!');
票数 21
EN

Stack Overflow用户

发布于 2019-07-20 03:16:20

如果您想在v3中使用默认的记录器,那么只需在主文件中添加这段代码即可。

代码语言:javascript
复制
const winston = require('winston')

winston.add(new winston.transports.File({ filename: 'logfile.log' }))
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52017160

复制
相关文章

相似问题

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