web-dev-qa-db-ja.com

syslogにミリ秒を含める方法は?

rsyslog.confのファイルにsyslogsとして自分のログを含めるように/etc/var/logsファイルを設定しました。

しかし、ファイルを開いた後、私はこれを得ました:

Jun 5 10:09:09 lab-Altos-G330-Mk2 slog[19689]: Hello1
Jun 5 10:09:09 lab-Altos-G330-Mk2 slog[19689]: Hello2

ここでは、timestampには2番目の解像度しかありません。ミリ秒も表示するようにrsyslogを構成する方法を知りたいですか?

5
RaulGupta

デフォルトでは、rsyslogは従来のタイムスタンプを使用します。dateコマンドの形式は次のとおりです。

%b %d %H:%M:%S

これは、/etc/rsyslog.confの次の行によって有効になります。

$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat 

高精度のタイムスタンプを有効にするには、次の行をコメントアウトします。

# $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat 

rFC 3339形式でrsyslogタイムスタンプを作成します。


RFC 3339形式は、dateコマンドでシミュレートできます。

% date '+%Y-%m-%dT%H:%M:%S.%6N%:z'
2016-06-05T18:27:58.721607+06:00

またはさらに短く:

% date '+%FT%T.%6N%:z'      
2016-06-05T18:29:32.569776+06:00

または、ネイティブ--rfc-3399オプションを使用します。

% date --rfc-3339=ns
2016-06-05 18:31:50.897557592+06:00
9
heemayl