2016-11-23 2 views
0

C#コードでは、書き込まれたログを区別するために、いくつかの名前のlog4netロガーを作成する必要があります。 1つのロガーはMyNamespace.MyClass.1、もう1つはMyNamespace.MyClass.2などと呼ばれます。ログはMyNamespace.MyClass.1.log、MyNamespace.MyClass.2.logなどの複数のファイルに書き込まれます。log4netで自動的にアペンダーを作成する

問題は、手動で構成内の段落を追加する必要があり、各段落は1つのロガー名にしか対応していないということです。

<appender name="logger1" type="log4net.Appender.RollingFileAppender"> 
    <file value="Logs/MyNamespace.MyClass.1.log" /> 
    <appendToFile value="true" /> 
    <rollingStyle value="Size" /> 
    <maximumFileSize value="2MB" /> 
    <maxSizeRollBackups value="10" /> 
    <staticLogFileName value="true" /> 
    <threshold value="INFO" /> 
    <layout type="log4net.Layout.PatternLayout"> 
    <conversionPattern value="%date [%thread] %level %logger %ndc: %message (%file:%line)%newline" /> 
    </layout> 
</appender> 

<logger name="MyNamespace.MyClass.1"> 
    <level value="INFO" /> 
    <appender-ref ref="logger1" /> 
</logger> 

このコードをn回書き込むことなくn loggerを一般化する解はありますか?

答えて

1

複数のロガーをプログラムで設定することができます。以下のリンクを参照してください。

Log4Net: Programmatically specify multiple loggers

+0

この回答はありがたいです。この方法では、設定ファイルによって提供される柔軟性が失われますが、ログファイルを自動的に埋めることができます。 – Mezzo

関連する問題