似乎Log4Net因为不明显的原因而无声地关闭,我不知道如何解决它.我的预感是特定的appender在特定的日志消息上失败并且似乎关闭了整个堆栈.
有没有办法让Log4Net抛出一个异常(至少在我们的调试阶段),而不是暂时关闭服务.
log4net.xml我的解决方案的根目录中有一个文件。用于复制到 bin 的文件属性设置为Always copy。我已确认该文件已复制到 bin 目录。
在配置中,我设置了一个文件附加器(基本上是文档中的复制粘贴):
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
<file value="Logs\\log.log" />
<appendToFile value="true" />
<rollingStyle value="Date"/>
<datePattern value="yyyyMMdd-HHmmss" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
Run Code Online (Sandbox Code Playgroud)
我也有这条线AssemblyInfo.cs
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.xml", Watch = true)]
Run Code Online (Sandbox Code Playgroud)
记录器在代码文件中的设置如下:
private static ILog LOGGER = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
Run Code Online (Sandbox Code Playgroud)
我也将log4net.Config.XmlConfigurator.Configure();(也带有FileInfo参数)添加到了 main 中Program.cs。
但是,如果我执行该程序,则不会创建预期的日志文件。我怀疑 log4net 甚至没有读取配置文件。
我错过了什么吗?从 VS 内部执行也不起作用(尽管它以某种方式拾取了 Console Appender 部分)。
类似的帖子: