4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

log4jsでログのTimestampにTが入るのを直す

Last updated at Posted at 2018-05-12

課題

特に意識してなかったのですが、下記のように書いて、ログを出力すると、

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

logger.level = "debug";
logger.debug("hoge");

日付と時間の間にTが入っています。まあ、大した問題ではないのですが、ログの加工をするときに邪魔なので消したい。

[2018-05-12T17:24:17.873] [DEBUG] default - hoge

これは標準で、ISO8601が適用されているから・・・だそうです。

直す方法

log4js.configure()にてフォーマットを設定してやる必要があるようです。

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

//指定
log4js.configure({
    appenders: {
        out: {
            type: 'stdout', //コンソールに出力
            layout: {
                type: 'pattern',
                pattern: '%[[%d{yyyy-MM-dd hh:mm:ss.SSS}] [%p] %c -%] %m',
            }
        }
    },
    categories: {
        default: {
            appenders: ['out'],
            level: 'debug'
        }
    }
});

logger.level = "debug";
logger.debug("hoge");

そうするとTが消えました。

[2018-05-12 17:30:19.122] [DEBUG] default - hoge

fileに出力する時

ファイルに出力するときは、カラーブロック設定 %[ %]に意味がないので(たぶん)消します。

"pattern": "[%d{yyyy-MM-dd hh:mm:ss.SSS}] [%p] %c %m"

参考

パターン含めたlog4jsの利用方法はここが非常に参考になります。

4
5
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
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?