Log4net 总是在 Windows 服务中生成一个新文件作为 WCF 服务
Log4net always generates a new file inside a Windows Service as a WCF Service
正在声明我的记录器:
private static readonly ILog Logging = LogManager.GetLogger(typeof(Service1));
我的构造函数:
public Service1()
{
InitializeComponent();
InitializeLogging(@"c:\log\");
}
这就是我初始化记录器的方式:
public static void InitializeLogging(String Path)
{
var patternLayout = new PatternLayout()
{
ConversionPattern = "%utcdate{yyyy-MM-dd HH:mm:ss.fff}"
+ "|%level"
+ "|%class"
+ "|%method"
+ "|%line"
+ "|%timestamp"
+ "|%message"
+ "%newline"
};
patternLayout.ActivateOptions();
RollingFileAppender roller = new RollingFileAppender()
{
AppendToFile = true,
File = Path,
DatePattern = "yyyyMMdd HHmmss'.log'",
Layout = patternLayout,
StaticLogFileName = false,
RollingStyle = RollingFileAppender.RollingMode.Date
};
roller.ActivateOptions();
BasicConfigurator.Configure(roller);
}
当Windows 服务未启动时,log4net 会生成一个日志文件,其中包含一行代码"service started"。
调用 WCF 方法时,log4net 总是生成一个包含一行日志的新文件。当服务停止时,log4net 写入每个文件 "service is stopped".
一天一个日志文件就够了:(
我已经移动了
的声明位置
private static readonly ILog Logging = LogManager.GetLogger(typeof(Service1));
从 class Service1 : ServiceBase
到 static class Program
我也将 Logger 的 private 更改为 public,并将 Service1 更改为 Program。
正在声明我的记录器:
private static readonly ILog Logging = LogManager.GetLogger(typeof(Service1));
我的构造函数:
public Service1()
{
InitializeComponent();
InitializeLogging(@"c:\log\");
}
这就是我初始化记录器的方式:
public static void InitializeLogging(String Path)
{
var patternLayout = new PatternLayout()
{
ConversionPattern = "%utcdate{yyyy-MM-dd HH:mm:ss.fff}"
+ "|%level"
+ "|%class"
+ "|%method"
+ "|%line"
+ "|%timestamp"
+ "|%message"
+ "%newline"
};
patternLayout.ActivateOptions();
RollingFileAppender roller = new RollingFileAppender()
{
AppendToFile = true,
File = Path,
DatePattern = "yyyyMMdd HHmmss'.log'",
Layout = patternLayout,
StaticLogFileName = false,
RollingStyle = RollingFileAppender.RollingMode.Date
};
roller.ActivateOptions();
BasicConfigurator.Configure(roller);
}
当Windows 服务未启动时,log4net 会生成一个日志文件,其中包含一行代码"service started"。
调用 WCF 方法时,log4net 总是生成一个包含一行日志的新文件。当服务停止时,log4net 写入每个文件 "service is stopped".
一天一个日志文件就够了:(
我已经移动了
的声明位置private static readonly ILog Logging = LogManager.GetLogger(typeof(Service1));
从 class Service1 : ServiceBase
到 static class Program
我也将 Logger 的 private 更改为 public,并将 Service1 更改为 Program。