【发布时间】:2015-03-05 08:02:41
【问题描述】:
您好,我现在使用 log4net 有一段时间了。这是我的记录器:
public static class LoggerSetup
{
private static RollingFileAppender _roller;
private static PatternLayout _patternLayout;
static LoggerSetup()
{
// root config
Hierarchy hierarchy = (Hierarchy)LogManager.GetRepository();
hierarchy.Root.Level = Level.Debug;
hierarchy.Configured = true;
// prepare appender
_roller = new RollingFileAppender();
_patternLayout = new PatternLayout();
_roller.Layout = _patternLayout;
hierarchy.Root.AddAppender(_roller);
_fileDirectory = "Log";
Setup();
}
/// <summary>
/// Location to save logfile
/// </summary>
public static string FileDirectory
{
get
{
return _fileDirectory;
}
set
{
_fileDirectory = value;
Setup();
}
}
private static string _fileDirectory;
public static string DatePattern
{
get { return "_yyyy-MM-dd"; }
}
public static void Setup()
{
_roller.AppendToFile = true;
_roller.File = FileDirectory + @"/" + "Log.log";
_roller.StaticLogFileName = true;
_roller.PreserveLogFileNameExtension = true;
_roller.LockingModel = new FileAppender.MinimalLock();
_roller.MaxSizeRollBackups = -1; //--> Logger doesnt delete files himself
_roller.RollingStyle = RollingFileAppender.RollingMode.Composite;
_roller.MaximumFileSize = "10KB";
_roller.DatePattern = DatePattern;
_patternLayout.ConversionPattern = "%date [%-5level] %message%newline";
_patternLayout.ActivateOptions();
_roller.ActivateOptions();
}
}
如您所见,此 Appender 创建最大大小为 10K 的日志文件,并且每天都会滚动。此配置生成日志文件名如下:
Log.log_2015-03-04,
Log.1.log_2015-03-04,
- Log.2.log_2015-03-04,
- Log.log_2015-03-03,
- Log.1.log_2015-03-03,
- Log.2.log_2015-03-03
但是今天创建的日志是这样的
- Log.log,
- Log.1.log,
- Log.2.log
我想要的是文件名看起来像这样:Log_yyyy-mm-dd_nr.log
那我该如何改变呢?
【问题讨论】:
标签: c# log4net log4net-configuration log4net-appender