使用bunyan logger登录nodejs

时间:2014-05-22 12:38:46

标签: node.js

我正在我的nodejs代码中初始化bunyan记录器,如下所示:

var log = bunyan.createLogger({
    name: 'myapp',
    stream: process.stdout,
    level: 'info'
});

这是来自https://www.npmjs.org/package/bunyan

的bunyan文档

文档提到 默认情况下,日志输出为stdout且位于“info”级别。

我想知道的是,记录员不应该问我要记录的文件名。 记录发生在哪里?

3 个答案:

答案 0 :(得分:3)

试试这个......

var Logger = require('bunyan');
var applogger = new Logger({
  name: 'helloapi',
  streams: [
    {
      level: 'info',
      path: './log/applogging.log'
    }
  ]
});

查看主页以获取进一步说明https://github.com/trentm/node-bunyan#streams-introduction

希望这有所帮助。 :)

答案 1 :(得分:1)

process.stdout is for Logging on Console.

如果要登录文件,则需要提供不同的流。

var log = bunyan.createLogger({ 
                name: 'myapp',
                streams: [
                    {
                        level: 'trace',
                        stream: process.stdout
                    },
                    {
                        level: 'warn',
                        path: './filename.log'
                    }
                ]
            });

答案 2 :(得分:0)

安装bunyan logger的步骤:

npm install bunyan bunyan-rotating-file-stream --save

通过bunyan-rotating-file-stream模块,我们可以使用datetime设置日志文件。

手动创建日志文件夹。

    var bunyan  = require('bunyan');
    var RotatingFileStream = require('bunyan-rotating-file-stream');

    var applogger = new bunyan.createLogger({
        name: 'project name',            
        streams: [{
            stream: new RotatingFileStream({
                type: 'rotating-file',
                path: './logs/server-%Y%m%d.log',
                period: '1d',          // daily rotation 
                totalFiles: 2,        // keep up to 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 
                template: 'server-%Y%m%d.log' //you can add. - _ before datestamp.
            })
        }]
    });