-1
我是Node JS的新手。我正在尋找Node的日誌庫,我找到了Winston。現在,我想在日誌文件達到一定大小並且名稱中包含時間戳時將它們存檔。如何使用winston在日誌文件達到特定大小限制後對日誌文件進行歸檔?
對於前:
當前日誌文件:日誌/ devlog.log(10 MB)
,因爲它達到了10 MB,我想存檔
歸檔日誌文件:歸檔/devlog-03.02.2016.log
請幫我在winston或其他任何解決方案中做到這一點。在此先感謝
我對app.js代碼(節點服務器):
console.log('Hello world');
var winston = require('winston');
var date1 = new Date();
winston.emitErrs = true;
var date = new Date();
var loggerName = "server.app.js";
var winston = require('winston'),
path = require('path'),
transports = [];
transports.push(new winston.transports.DailyRotateFile({
name: 'file',
datePattern: '.yyyy-MM-ddTHH-mm',
filename: path.join(__dirname, "logs", "log_file.log"),
maxFiles: 5,
maxsize: 100000000
}));
var logger = new winston.Logger({ transports: transports });
//winston.loggers.add('ServerLogger', {
// transports: [
// new (winston.transports.File)({
// name: 'Devlogger', //Name of the transport
// filename: 'logs/devlogNormalF.log', // log file name
// json: false,
// maxsize: 1048576, //1MB
// maxFiles: 10, // 10 Files max
// timestamp: function() {
// return new Date().toISOString();//.substring(0,23);
// }
// }
// ), new archiveFile(options)
// ]
//});
//var logger = winston.loggers.get('ServerLogger');
logger.info ('Logger Name: '+loggerName+' App starting...');
logger.info('Logger Name: ' + loggerName + 'Hello world');
logger.info('Logger Name: ' + loggerName + ' Accessing test/user');
logger.error('Logger Name: ' + loggerName + ' Cannot access test/user/user.png');
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('Hello World!');
var date2 = new Date();
var diff = date2 - date1;
logger.info('Start '+ date1+' Stop '+date2)
logger.info('Logger Name: ' + loggerName + ' Response time of Node is ' + diff+' ms');
});
app.listen(3000, function() {
logger.warn('Logger Name: ' + loggerName + ' Example app listening on port 3000!');
logger.info('Logger Name: ' + loggerName + ' App ending...');
});
我試着這樣做的代碼,這是給我的錯誤,指出: – user1840131
我試着這樣做的代碼,這是給我的錯誤,指出: transports.push(新winston.transports.DailyRotateFile({ ^ TypeError:winston.transports.DailyRotateFile不是函數 at Object。(C:\ Users \ user123231 \ Documents \ Visual Studio 2015 \ Projects \ LogTester \ LogTester \ app.js:16:17)at Module._compile (module.js:413:34)在Object.Module._extensions..js –
user1840131
@nicholas同樣的錯誤仍然存在。 – user1840131