C#でlog4netログファイルを取得する 質問する

C#でlog4netログファイルを取得する 質問する

これはlog4netの設定です:

<log4net>
    <appender name="MyLogger" type="log4net.Appender.RollingFileAppender">
        <file value="MyLog.log" />
        <appendToFile value="true" /> 
        <rollingStyle value="Size"/>
        <maxSizeRollBackups value="20"/>
        <maximumFileSize value="1000KB"/>
        <layout type="log4net.Layout.PatternLayout">
            <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss},%p,%m%n" />
        </layout>
    </appender>
    <root>
        <level value="DEBUG" />
        <appender-ref ref="MyLogger" />
    </root>
</log4net>

C# で、ログ ファイル (MyLog.log) の名前を取得しようとしています。Google で検索したり、いろいろ試してみましたが、うまくいきませんでした。何か助けはありますか?

ありがとう!

ベストアンサー1

あなたの状況では解決策は非常に簡単です。次のコードを使用するだけです:

var rootAppender = ((Hierarchy)LogManager.GetRepository())
                                         .Root.Appenders.OfType<FileAppender>()
                                         .FirstOrDefault();

string filename = rootAppender != null ? rootAppender.File : string.Empty;

おすすめ記事