Node.jsでconsole.logにタイムスタンプを追加する方法

この記事は約3分で読めます。

Node.jsアプリケーションを開発する際、ログ出力にタイムスタンプを追加することは、デバッグやトラブルシューティングに役立ちます。本記事では、Node.jsでconsole.logにタイムスタンプを追加する3つの方法を紹介します。

1. console.logをラップする関数を作成する

最初の方法は、タイムスタンプを追加するためのカスタム関数を作成することです。この関数は、console.logをラップし、タイムスタンプを追加してから引数を渡します。

function logWithTimestamp(...args) { const timestamp = new Date().toLocaleString(); console.log(timestamp, ...args); }

2. console.logを直接オーバーライドする

2つ目の方法は、console.log関数を直接オーバーライドすることです。元のconsole.log関数を変数に保存し、新しい関数でタイムスタンプを追加してから元の関数を呼び出します。

const originalLog = console.log;
console.log = function(...args) {
const timestamp = new Date().toLocaleString();
originalLog(timestamp, ...args);
};

3. サードパーティのロギングライブラリを使用する

最後の方法は、winstonなどのサードパーティのロギングライブラリを使用することです。これらのライブラリには、タイムスタンプ追加をはじめとする多くの機能が用意されています。

const winston = require('winston');
const logger = winston.createLogger({
level: 'info',
format: winston.format.combine(
winston.format.timestamp({
format: 'YYYY-MM-DD HH:mm:ss'
}),
winston.format.printf(({ timestamp, level, message }) => {
return ${timestamp} ${level}: ${message};
})
),
transports: [new winston.transports.Console()]
});

まとめ

Node.jsでconsole.logにタイムスタンプを追加する方法は、カスタム関数の作成、console.logの直接オーバーライド、サードパーティのロギングライブラリの使用の3つがあります。toLocaleString()メソッドを使用することで、より読みやすい形式でタイムスタンプを表示できます。シンプルなタイムスタンプ追加には、最初の2つの方法で十分ですが、より高度なロギング機能が必要な場合は、サードパーティのライブラリを使用することをお勧めします。

タイトルとURLをコピーしました