![](/img/trans.png)
[英]Logging in nodejs using bunyan logger, Print DEBUG, INFO, ERROR to same file
[英]Logging in nodejs using bunyan logger
我在nodejs代碼中初始化bunyan記錄器,如下所示:
var log = bunyan.createLogger({
name: 'myapp',
stream: process.stdout,
level: 'info'
});
這是來自https://www.npmjs.org/package/bunyan上的bunyan文檔
文檔提到默認情況下,日志輸出為stdout並處於“信息”級別。
我想知道的是,記錄器是否應要求我在其中記錄事情的文件名。 日志記錄在哪里發生?
嘗試這個 ...
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
希望這有所幫助。 :)
process.stdout is for Logging on Console.
如果要登錄文件,則需要提供不同的流。
var log = bunyan.createLogger({
name: 'myapp',
streams: [
{
level: 'trace',
stream: process.stdout
},
{
level: 'warn',
path: './filename.log'
}
]
});
安裝bunyan記錄器的步驟:
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.
})
}]
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.