2009-08-27 21 views
8

log4netを使用してコンソールにログインしていますが、%date conversionPattern値が冗長すぎます。 私はちょうどhhを見たいと思っています:mm:ss - 今日の日付が分かっているので、日付は必要ありません。Log4net - コンソールに時刻(日付ではない)を表示します。

現在の設定:

[conversionPattern値= "%日付%-5level - %メッセージ%改行" /]

答えて

13

あなたの仕様に日付をフォーマットするdateまたはutcdateを使用することができます。

ローカルタイムゾーンでの伐採 イベントの日付を出力するために使用

。 に普遍的な時刻で日付を出力するには、%utcdateパターン を使用します。日付 の変換指定子の後には、 に、中括弧の間に で囲まれた日付書式指定子を続けることができます。たとえば、 %の日付{HH:mm:ss、fff}や%date {dd MMM yyyy HH:mm:ss、fff}です。 の日付書式が指定されていない場合は、ISO8601書式 が仮定されます(Iso8601DateFormatter)。

日付書式指定子では、ToStringの時刻パターン文字列 と同じ構文が使用されます( )。

さらに良い結果を得るには、log4netの日付フォーマッタを使用することをお勧めします。 これらはIso8601DateFormatter AbsoluteTimeDateFormatter、 DateTimeDateFormatterを特定するためのそれぞれ 1のストリング「絶対」、「DATE」と 「ISO8601」を使用して指定することができます。たとえば、 %の日付{ISO8601}や%date {ABSOLUTE}です。

これらの専用日付フォーマッタ は、 ToStringよりも大幅に優れたパフォーマンスを発揮します。世界時で伐採 イベントの日付を出力するために使用

utcdate

。日付 の変換指定子の後には、 に、中括弧の間に で囲まれた日付書式指定子を続けることができます。たとえば、 %utcdate {HH:mm:ss、fff}または%utcdate {dd MMM yyyy HH:mm:ss、fff}です。日付が のフォーマット指定子が指定されていない場合、ISO8601 フォーマットは (Iso8601DateFormatter)と仮定されます。

日付書式指定子では、ToStringの時刻パターン文字列 と同じ構文が使用されます( )。

さらに良い結果を得るには、log4netの日付フォーマッタを使用することをお勧めします。 これらはIso8601DateFormatter AbsoluteTimeDateFormatter、 DateTimeDateFormatterを特定するためのそれぞれ 1のストリング「絶対」、「DATE」と 「ISO8601」を使用して指定することができます。たとえば、 %utcdate {ISO8601}または %utcdate {ABSOLUTE}です。

これらの専用日付フォーマッタ は、 ToStringよりも大幅に優れたパフォーマンスを発揮します。

出典:log4net PatternLayout documentation

関連する問題