首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单独的信息和错误日志bunyan

单独的信息和错误日志bunyan
EN

Stack Overflow用户
提问于 2017-09-04 03:04:07
回答 2查看 1.4K关注 0票数 1

正如我在博客中看到的许多日志,我发现bunyan适合记录日志,但它有一个问题,它不能根据他们的级别记录到文件中。

下面是我正在遵循的代码结构

代码语言:javascript
复制
const RotatingFileStream = require('bunyan-rotating-file-stream');
const bunyan = require('bunyan');

    var log = bunyan.createLogger({
          name: 'ShotPitch',


          streams: [{
            name: 'info',
            level: 'info',
            stream: new RotatingFileStream({
              path: 'info.%d-%b-%y.log',
              period: '1d', // daily rotation
              totalFiles: 10, // keep 10 back copies
              rotateExisting: true, // Give ourselves a clean file when we start up, based on period
              threshold: '10m', // Rotate log files larger than 10 megabytes
              totalSize: '20m', // Don't keep more than 20mb of archived log files
              gzip: true // Compress the archive log files to save space
            })
          }, {
            name: 'error',
            level: 'error',
            stream: new RotatingFileStream({
              path: 'error.%d-%b-%y.log',
              period: '1d', // daily rotation
              totalFiles: 10, // keep 10 back copies
              rotateExisting: true, // Give ourselves a clean file when we start up, based on period
              threshold: '10m', // Rotate log files larger than 10 megabytes
              totalSize: '20m', // Don't keep more than 20mb of archived log files
              gzip: true // Compress the archive log files to save space
            })
          }] 
        });

 log.info('Hello World');
 log.error('Hello World error log');

o/p: info.log:

{"name":"ShotPitch","pid":7621,"level":30,"msg":"Hello World","time":"2017-09-03T18:29:04.181Z","v":0}

{"name":"ShotPitch","pid":7621,"level":50,"msg":"Hello World","time":"2017-09-03T18:29:04.181Z","v":0}

o/p: error.log:

{"name":"ShotPitch","pid":7621,"level":50,"msg":"Hello World","time":"2017-09-03T18:29:04.181Z","v":0}

结论:

info.log同时显示信息和错误日志

error.log仅显示错误日志

我只想在info.log中的信息日志,但无法做到。有人能帮上忙吗?另外,如果告诉我如何更改为level:"info“而不是level:30

EN

回答 2

Stack Overflow用户

发布于 2017-09-04 03:43:57

配置bunyan时需要指定循环文件流的日志级别。

默认情况下,日志输出为stdout,级别为"info“。

将记录器实例(或其流之一)设置为特定级别意味着记录该级别或更高级别的所有日志记录。例如,设置为" info“级别的记录器将记录info及以上级别的记录(warn、error、fatal)。

因此,错误日志也被收集到信息日志中。

票数 0
EN

Stack Overflow用户

发布于 2018-03-16 11:19:03

我遇到了同样的问题,最后我创建了两个变量,如下所示:

代码语言:javascript
复制
var debugLog = bunyan.createLogger({
  name: 'general',
  streams: [
    {
      level: 'debug',
      path: './debug.log'
    }]
});

var errLog = bunyan.createLogger({
  name: 'general',
  streams: [
    {
      level: 'error',
      path: './error.log'
    }]
});

debugLog.info('hello world');
errLog.error('error');

那么日志将放在不同的日志文件中。

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

https://stackoverflow.com/questions/46026933

复制
相关文章

相似问题

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