LoginSignup
7
6

More than 5 years have passed since last update.

【俺メモ】log4jsでファイルを分けてログを出力

Posted at

log4jsをインストール

$ npm install log4js

設定ファイルを別出し

とりあえず、app.jsと同じとこにファイルを作ってや。
んで、ログファイルはlogフォルダの下にできるで。

log4js-setting.json
{
    "appenders": [
        {
            "type": "dateFile", //日付でローテーション
            "category": "request", //リクエスト用のログ
            "filename": "./logs/request", //ファイルのパスとファイル名のヘッダ部分
            "pattern": "yyyyMMdd.log", //日付のフォーマットと拡張子
            "alwaysIncludePattern": "true" //日付跨ぎの強制ローテーションを有効
        },
        {
            "type": "dateFile",
            "category": "error", //エラー用ログファイル
            "filename": "./logs/error",
            "pattern": "yyyyMMdd.log",
            "alwaysIncludePattern": "true"
        }
    ]
}

組み込み

app.js
var log4js = require('log4js'); //log4jsモジュール読み込み

log4js.configure('log4js_setting.json'); //設定ファイル読み込み

var reqlogger = log4js.getLogger('request'); //リクエスト用のロガー取得
var errlogger = log4js.getLogger('error'); //エラー用のロガー取得

reqlogger.info('this is request log'); //リクエストログ出力
errlogger.error('this is error log'); //エラーログ出力

エラー時はエラーオブジェクトを出力する事があるかも知れへんから
Node.js標準モジュールのutil.inspectを使うのがよろし。

実行結果

request20150330.log
[2015-03-30 17:25:41.152] [INFO] request - this is request log
error20150330.log
[2015-03-30 17:25:41.154] [ERROR] error - this is error log

細かいフォーマットはまた別な話

7
6
0

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
7
6