LoginSignup
10
9

More than 5 years have passed since last update.

log4js-nodeを使ってみた

Last updated at Posted at 2015-11-13

log4js-nodeとは、node上で動作するようにしたlog4js。log4js-nodeは、log4jsとは異なるライブラリみたいだ。

準備する

適当にプロジェクトを作り、log4js-nodeをインストールする。

$ mkdir hello-log4js-node
$ cd hello-log4js-node
$ npm init
$ npm install log4js --save
$ touch index.js

Hello log4js

最小のコードを実行してみる。

index.js
var log4js = require('log4js');
var logger = log4js.getLogger();

logger.debug('Hello log4js');

デフォルトでは、標準出力に出力される。

$ node index.js
[2015-01-02 00:27:45.956] [DEBUG] [default] - Hello log4js

ログをファイルに出力する - その1

index.js
var log4js = require('log4js');
// (*1) コンソール出力しない場合は、Appenderをクリアする必要がある。
//log4js.clearAppenders(); 
log4js.loadAppender('file'); // (*2)
log4js.addAppender(log4js.appenders.file('./debug.log'), 'hello-log4js');

var logger = log4js.getLogger('hello-log4js');
logger.setLevel('WARN'); // (*3)

logger.trace('Hello log4js');
logger.debug('Hello log4js');
logger.info('Hello log4js');
logger.warn('Hello log4js');
logger.error('Hello log4js');
logger.fatal('Hello log4js');
  • file appenderをLoadし(*2)、出力先のファイルとcategory hello-log4jsを指定して、Appenderを追加する。
  • デフォルトでは、コンソールにも出力するので、ファイルのみに出力したい場合は、log4js.clearAppendersする。(*1)

出力結果は、以下のような感じ。ログレベルをWARNに設定しているので、TRACE/DEBUG/INFOは出力されない。

$ node index.js 
[2015-01-02 01:25:21.151] [WARN] hello-log4js - Hello log4js
[2015-01-02 01:25:21.153] [ERROR] hello-log4js - Hello log4js
[2015-01-02 01:25:21.153] [FATAL] hello-log4js - Hello log4js

ログをファイルに出力する - その2

ファイル出力するための設定は、以下のようにも書くことができる。

index.js
var log4js = require('log4js');
log4js.configure({
  appenders: [
    { type: 'console' },
    { type: 'file', filename: 'debug.log', category: 'hello-log4js' }
  ]
});

var logger = log4js.getLogger('hello-log4js');
logger.setLevel('WARN');

logger.trace('Hello log4js');
logger.debug('Hello log4js');
logger.info('Hello log4js');
logger.warn('Hello log4js');
logger.error('Hello log4js');
logger.fatal('Hello log4js');

より実践的な設定

log4js-nodeのREADMEにもリンクされているが、express+log4jsのサンプルアプリケーションがある。

このサンプルが非常に参考になった。

10
9
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
9