【log4js】ログをファイルに出力する

ログを簡単に外部ファイルに出力する

log4js

GitHub - log4js-node/log4js-node: A port of log4js to node.js
A port of log4js to node.js. Contribute to log4js-node/log4js-node development by creating an account on GitHub.

インストール

$ npm install log4js

使い方

一番簡単なパターン

logger.levelで出力するログの最低レベルを指定する。

const log4js = require('log4js');
var logger = log4js.getLogger();
logger.level = 'debug';
logger.debug('debug msg');

基本のパターン

./logs/system.logに出力する場合

const log4js = require('log4js');
 
log4js.configure({
  appenders: {
      system: {type: 'file', filename: './logs/system.log'}
  },
  categories: {
    default: {appenders: ['system'], level: 'debug'}
  }
});
const logger = log4js.getLogger('cheese');
 
logger.trace('trace msg');
logger.debug('debug msg');
logger.info('info msg');
logger.warn('warn msg');
logger.error('error msg');
logger.fatal('fatal msg');

configure内部は別ファイルに記述することもできる。

log4js.configure('./filename');

念のため:ログレベルについて

ちゃんと以下の表を守ってログ出力する(自分への戒め)

レベル概要備考出力先運用時の対応
FATAL致命的なエラー異常終了を伴うようなエラーコンソール、ファイル即時対応
ERRORエラー予期しない実行時エラーコンソール、ファイル営業時間内のみ対応
WARN警告不具合とは言い切れない、予期しない問題コンソール、ファイル次回リリースまでに対応
INFO情報実行時の注目すべき事象コンソール、ファイル対応不要
DEBUGデバッグ情報動作状況に関する詳細な情報ファイル出力しない
TRACEトレース情報デバッグ情報よりもさらに詳細な情報ファイル出力しない
タイトルとURLをコピーしました