カーネルログのタイムスタンプ形式を設定しますか?

カーネルログのタイムスタンプ形式を設定しますか?

カーネルログでタイムスタンプ形式を変更する方法はありますか?

今のように2012-08-27T8:54:35.939421+03:00確認してみるとsysctl -a | grep log何も出てこなかった。

答え1

いいえ、のカーネルコードを参照してくださいkernel/printk.c。次のようにハードコードされています。

sprintf(tbuf, "[%5lu.%06lu] ", (unsigned long) t, nanosec_rem / 1000)

あなたができることは、そのタイムスタンプを有効/無効にすることだけです。すべての読み取り/proc/kmsg(syslog、klog ...)にタイムスタンプ自体を追加できます。

答え2

  1. /var/log/messagesとでは、/var/log/syslogHRTS(Human Readable Timestamp)に自動的に変換されます。

  2. これを使用してカーネルリングのHRTS形式を返します-Tdmesgこれを見てくださいman dmesg
    あなたが本当に欲しいものを得るためにcronスクリプトを作成することができます:
    毎秒$PERIODdmesg --ctime --read-clear >> mymessagesHRTS.log

  3. 以下を使用することを検討できます。 (
    dmesg --console-off
    dmesg --ctime --decode --show-delta
    参照:util-linux 2.20.1のdmesg)

hth - ステファン

関連情報