相关疑难解决方法(0)

Winston Logging - 单独的级别来单独的传输

我使用 Winston 通过 2 种不同的传输方式进行日志记录 - 文件和 MongoDB。我已将 File 的级别设置为“INFO”,将 MongoDB 的级别设置为“ERROR”。如果我现在登录,

log.info('some info...');
log.warn('some Warning...');
log.error('some error...');
Run Code Online (Sandbox Code Playgroud)

所有这些都会进入日志文件,只有错误会进入数据库。我只想将信息消息发送到文件,而不是其他消息。

我了解 Winston 中的系统日志级别,并且只有错误才会发送到 MongoDB,因为它是最高级别。由于 INFO 级别较低,因此任何具有 INFO 或更高级别的日志都会进入该文件(根据我的记录器定义)

我已阅读此处但找不到答案。即使我创建自定义级别,我如何才能将每个传输限制为只有一个日志记录级别?

logging node.js winston

7
推荐指数
1
解决办法
8357
查看次数

节点winston不支持多文件传输?

我想在一个文件中显示错误日志,在另一个文件中显示所有日志.为此,我编写了两个文件传输,在编译时出现以下错误:

 'use strict';

var winston = require('winston'),   
  config = require('./config');

var logger = new (winston.Logger)({
transports: [
  new (winston.transports.Console)({level:'debug',handleExceptions: true,prettyPrint: true,silent:false,timestamp: true,colorize: true,json: false}),
  new (winston.transports.File)({ filename: './server/logs/bv_common.log',level:'debug',maxsize: 1024000,maxFiles: 10, handleExceptions: true,json: false}),
  new (winston.transports.File)({ filename: './server/logs/bv_error.log',level:'debug',maxsize: 1024000,maxFiles: 10, handleExceptions: true,json: false,level:'error'})

]
  });


module.exports = logger;
Run Code Online (Sandbox Code Playgroud)

结果:

   [ 'Error: Transport already attached: file',
Run Code Online (Sandbox Code Playgroud)

node.js express winston

6
推荐指数
2
解决办法
4386
查看次数

标签 统计

node.js ×2

winston ×2

express ×1

logging ×1