0

log4net.Util.PatternString を使用して、log4net を使用して変数名のファイルにログを記録しようとしています。アペンダーの構成は次のようになります。

<appender name="file2" type="log4net.Appender.FileAppender">
    <file type="log4net.Util.PatternString" value="c:\temp\MyLogFile_PID%processid.log" /> 
    <appendToFile value="true" />       
    <layout type="log4net.Layout.PatternLayout">        
        <conversionPattern value="%date [%thread] %level - %message%newline" />
    </layout>
</appender>

この構成では、ファイルは次のような名前で正常に作成されます: MyLogFile_PID12345.log

%processid、%random{8}、%env{SOME_ENV_VAR}、%property{MYPROPERTY}、および %appsetting{someKey} を正常に使用しました。

しかし、日付を挿入したいのですが、何を試しても、%date、%utcdate、%date{DATE}、%utcdate{DATE}、%date{ISO8601 のいずれも理解できないようです。 }、%date{ABSOLUTE}、%date{{HH:mm:ss}、または基本的に任意の形式の日付。

たとえば、何が間違っているか:

<file type="log4net.Util.PatternString" value="c:\temp\MyLogFile_%date{ISO8601}.log" />

また、変換パターン構成に別のノードを使用しようとしましたが、役に立ちませんでした。

<file type="log4net.Util.PatternString">
    <conversionPattern value="c:\temp\MyLogFile_%date{ISO8601}.log" />
</file>

現在、カスタム プロパティ (%property{MY_CUSTOM_PROPERTY_WITH_THE_NAME_I_WANT} を使用) を使用して同様の効果を実現していますが、やややり過ぎであることを除けば、何が間違っているのだろうかと思います。さまざまなコンピューターとさまざまなアプリケーションで試しましたが、意図したとおりの結果が得られません。

ところで、私の本当の目的は RollingFileAppender で使用することですが、簡単にするためにここで FileAppender について質問 (および試行) しています。

何か助けはありますか?

4

2 に答える 2

1

アペンダー log4net.Appender.FileAppender の代わりにタイプ log4net.Util.PatternString を直接使用しているようですが、具体的な理由はありますか?

https://logging.apache.org/log4net/release/config-examples.htmlの例を見ているだけです

于 2019-07-11T12:13:43.037 に答える