1
appenderを変更せずに、実行時にログの名前を変更したいと思います。基本的には、一度設定された時間帯に達すると、別のファイルを使用できるようにしたいと考えています。appenderを変更せずに実行時にlog4netファイル名を変更する
これは私のアペンダは、次のようになります。
public void SetLogFile(string fileName)
{
foreach (var appender in log.Logger.Repository.GetAppenders())
{
try
{
((log4net.Appender.FileAppender)appender).File = fileName;
((log4net.Appender.FileAppender)appender).ActivateOptions();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
SetLogFile("log1.txt");
この特定の例については、以下のファイルを作成:
を<appender name="info" type="log4net.Appender.RollingFileAppender">
<file value="logs\" />
<datePattern value="yyyyMMdd'_INFO.log'" />
<staticLogFileName value="false" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="10MB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%newline[%date]-%level-%logger[%M]- Linea:%L - %message%newline"/>
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="INFO"/>
<param name="LevelMax" value="INFO"/>
</filter>
</appender>
これは私がアペンダを反復処理機能です
log1.txt20171221_INFO.log
私のログファイルには、名前と連結log4net.config
ファイルにdatePattern
セットを持ってlog1.txt
の名前とないようにするために私がたいが、私はlog4net.config
アペンダの構成を変更することなくそれを行う方法を見つけ出すことはできません。