Node.Js アプリケーションでログ記録を処理するのに役立つライブラリはありますか? 私がやりたいのは、すべてのログをファイルに書き込むことと、特定のサイズまたは日付の後にファイルをロールアウトするなどのオプションが必要なことです。
私はlog4jsを組み込んで、すべての構成の詳細を1つのファイルに保存し、メンテナンスを容易にするために他のアプリケーションファイルのメソッドのみを使用しようとしています。しかし、期待どおりに動作しません。私がやろうとしていることは次のとおりです。
var log4js = require('log4js');
log4js.clearAppenders()
log4js.loadAppender('file');
log4js.addAppender(log4js.appenders.file('test.log'), 'test');
var logger = log4js.getLogger('test');
logger.setLevel('ERROR');
var traceLogger = function (message) {
logger.trace('message');
};
var errorLogger = function (message) {
logger.trace(message);
};
exports.trace = traceLogger;
exports.error = errorLogger;
このファイルを他のファイルに含めて試してみました
log.error ("Hello Error Message");
しかし、動作しません。何か問題があるのでしょうか?
ベストアンサー1
ウィンストン非常に優れたログ ライブラリです。これを使用してログをファイルに書き出すことができます。
コードは次のようになります。
var winston = require('winston');
var logger = new (winston.Logger)({
transports: [
new (winston.transports.Console)({ json: false, timestamp: true }),
new winston.transports.File({ filename: __dirname + '/debug.log', json: false })
],
exceptionHandlers: [
new (winston.transports.Console)({ json: false, timestamp: true }),
new winston.transports.File({ filename: __dirname + '/exceptions.log', json: false })
],
exitOnError: false
});
module.exports = logger;
これを次のように使用できます:
var logger = require('./log');
logger.info('log to file');