カーネルログでタイムスタンプ形式を変更する方法はありますか?
今のように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
/var/log/messages
とでは、/var/log/syslog
HRTS(Human Readable Timestamp)に自動的に変換されます。これを使用してカーネルリングのHRTS形式を返します
-T
。dmesg
これを見てくださいman dmesg
。
あなたが本当に欲しいものを得るためにcronスクリプトを作成することができます:
毎秒$PERIOD
、dmesg --ctime --read-clear >> mymessagesHRTS.log
以下を使用することを検討できます。 (
dmesg --console-off
dmesg --ctime --decode --show-delta
参照:util-linux 2.20.1のdmesg)
hth - ステファン