我在我的解决方案根目录下有一个名为
在配置文件中,我设置了一个文件记录器(基本上是从文档中复制粘贴的):
我将
然而,如果我运行程序,期望生成的日志文件并未创建。我怀疑log4net甚至没有读取配置文件。
我有什么遗漏吗?从VS中执行也不起作用(尽管它会从控制台附加程序中读取一些东西)。
类似的帖子:
然而,从exe运行仍然无法正常工作。
log4net.xml
的文件。将该文件复制到bin目录的属性设置为始终复制
。我已确认该文件已经复制到了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>
我在AssemblyInfo.cs
文件中也有这行代码
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.xml", Watch = true)]
代码文件中的记录器设置如下:
private static ILog LOGGER = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
我将
log4net.Config.XmlConfigurator.Configure();
(也可加入 FileInfo
参数)添加到主要的 Program.cs
中。然而,如果我运行程序,期望生成的日志文件并未创建。我怀疑log4net甚至没有读取配置文件。
我有什么遗漏吗?从VS中执行也不起作用(尽管它会从控制台附加程序中读取一些东西)。
类似的帖子:
- StackOverflow问题1 - 不适用
- StackOverflow问题2 - 不适用
- StackOverflow问题3 - 已符合
<root>
<level value="DEBUG" />
<appender-ref ref="A1" />
</root>
然而,从exe运行仍然无法正常工作。
RollingFile
,但在root
标签中引用为A1
。它们应该匹配。请参考此相关帖子 - 使用xml文件配置log4net。 - RBT