为什么log4net出现在控制台而不是文本文件中

时间:2014-02-06 18:39:49

标签: c# asp.net asp.net-mvc-3 console log4net

尝试在控制台应用程序中使用log4net。我已经关注this tutorial,一切正常,直到第4部分:未创建日志文件,而不是在命令提示符下输出日志。

累了手动创建文件但没有欢乐

任何人都知道为什么? 似乎在底部的评论中人们有同样的问题,但没有解决?

更新的 忘了提我把文件位置改为

<file value="C:\Users\John\Desktop\log4net.txt" /> 

但我对权限没有任何问题,所以无关紧要

2 个答案:

答案 0 :(得分:0)

所以从链接开始,配置文件如下:

<log4net>
<appender name="FileAppender" type="log4net.Appender.FileAppender,log4net">
  <file value="c:\\mylogfile.txt" />
  <appendToFile value="true" />
  <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date [%thread] %level %logger - %message%newline" />
  </layout>
  <filter type="log4net.Filter.LevelRangeFilter">
    <levelMin value="INFO" />
    <levelMax value="FATAL" />
  </filter>
</appender>
<root>
  <level value="DEBUG"/>
  <appender-ref ref="FileAppender"/>
</root>

您的计算机上是否有权使用“C:\”?尝试删除路径 - 默认情况下,它将写入控制台项目文件文件夹的根目录。如果它起作用必须与文件权限有关。

实际上我错过了这个: type =“xxx.FileAppender,log4net”删除“,log4net”部分它应该可以正常工作。

答案 1 :(得分:0)

转到log4net.config文件的属性,并将“复制到输出目录”属性设置为“始终复制”。