Node.js ログ記録 質問する

Node.js ログ記録 質問する

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');

おすすめ記事