Log4net 总是在 Windows 服务中生成一个新文件作为 WCF 服务



声明我的记录器:

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会生成一个日志文件,其中包含一行代码"服务已启动"。

调用 WCF 方法时,log4net 始终生成一个包含一行日志的新文件。当服务停止时,log4net 会在每个文件中写入"服务已停止"。

每天一个日志文件就足够:(

我已经移动了声明位置

private static readonly ILog Logging = LogManager.GetLogger(typeof(Service1));

class Service1 : ServiceBasestatic class Program

并且我还将记录器更改为公共,将服务1更改为程序。

相关内容

最新更新