なんだかGoodVibes

日々の勉強メモです。

【Node】log4js-nodeを使ってみる

こんにちは。
本日は、log4js-nodeについてのメモです。

log4js-nodeについて

log4js-nodeは、ログの出力を行うものです。
以下のコマンドでインストールします。

$ npm install log4js

ログレベルは以下のようになっています。 TRACE < DEBUG < INFO < WARN < ERROR < FATAL < MARK

logger.level = ログレベルとすることで
出力するログレベルを調整できます。

なお、すべてのログを出力する場合は、all
すべてのログを出力しない場合は、offとします。


コンソールに出力する

ログレベル、info以上のログを出力するサンプルです。

const log4js = require('log4js');
const logger = log4js.getLogger();

logger.level = 'info';
logger.trace('trace log');
logger.debug('debug log');
logger.info('info log');
logger.warn('warn log');
logger.error('error log');
logger.fatal('fatal log');
logger.mark('mark log');

以下のような出力になります。 f:id:nandakagoodvibes:20211123143608p:plain

ちなみに、上記でdefaultと表示されている部分に
指定の文言を表示するには、getLogger()の引数に文字列を渡します。

const logger = log4js.getLogger('sample');
logger.level = 'error';
logger.error('error log');
logger.fatal('fatal log');

以下のような出力になります。 f:id:nandakagoodvibes:20211123143910p:plain


ファイルに出力する

ファイルに出力する場合は、configureで設定を行います。

const log4js = require('log4js');
log4js.configure({
    appenders: {
        logFile: { type: 'file', filename: 'output.log'}
    },
    categories: {
        default: { appenders: ['logFile'], level: 'debug'}
    }
});

const logger = log4js.getLogger();
logger.trace('trace log');
logger.debug('debug log');
logger.info('info log');
logger.warn('warn log');
logger.error('error log');
logger.fatal('fatal log');

実行すると、output.logにログが出力されます。

[2021-11-23T15:07:55.028] [DEBUG] default - debug log
[2021-11-23T15:07:55.030] [INFO] default - info log
[2021-11-23T15:07:55.030] [WARN] default - warn log
[2021-11-23T15:07:55.030] [ERROR] default - error log
[2021-11-23T15:07:55.031] [FATAL] default - fatal log

configureの設定を調整することで、
コンソール出力も可能なので、
コンソールとファイルへ同時にログを出力することも可能です。



以上です。