我无法写入日志任何信息,错误,使用log4net调试,我尝试了一切给网络服务permsission,大家到目录asp.net临时文件夹,日志文件夹,甚至c:\,Log4net无法写入,只能创建空文件,但不能写入实际日志
它只是创建一个空文件。但不写日志
可能是什么问题
THX 拉吉
我无法写入日志任何信息,错误,使用log4net调试,我尝试了一切给网络服务permsission,大家到目录asp.net临时文件夹,日志文件夹,甚至c:\,Log4net无法写入,只能创建空文件,但不能写入实际日志
它只是创建一个空文件。但不写日志
可能是什么问题
THX 拉吉
我的猜测是,在您的配置文件,您没有指定布局模式。通常情况下,你在appender中有这样的内容:
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %level %logger - %message%newline" />
</layout>
指定要写入日志的内容。如果你没有这个,我怀疑它会写什么。
我同意那些评论中的人说这可能不是权限问题,因为文件被创建。为了测试这是真的,你可以添加一个appender到你的配置输出到控制台。然后,您可以在调试应用程序时观看输出。如果这也不起作用,您知道这个问题不是权限问题。
我可以给出的最好的建议是将你的配置文件与工作文件进行比较。确保每个部分在工作配置中都有对应部分,或者您知道为什么它不需要有配置。这里是我的log4net的,其中包括对配置的每个部分的解释写了一篇文章,它展示了如何把它们写:
http://www.codeproject.com/KB/dotnet/Log4net_Tutorial.aspx
如果这一切没有帮助,请发表您的配置文件中的文本你的问题,所以我们可以看看它。
此问题的一个可能的原因可能是日志记录级别。 检查日志记录级别设置为致命的,如果是这样的情况下,尝试更换web.config中的这一部分:
<log4net>
.....
<root>
<level value="FATAL" />
<appender-ref ref="RollingFileAppender" />
</root>
.....
</log4net>
与此:
<log4net>
......
<root>
<level value="DEBUG" />
<appender-ref ref="RollingFileAppender" />
</root>
....
</log4net>
Furthemore不要忘记检查web.config部分最终发生的一些
<filter type="log4net.Filter.StringMatchFilter">
<stringToMatch value="test" />
</filter>
小节。在把你的代码,即使日志记录级别设置为DEBUG这种情况下(例如),你 somethig喜欢:
log.Debug("Db quering...");
它总是返回空,但如果你写例如:
log.Debug("test: Db quering...");
因此
尝试注释掉滤光片部分,也这条线
<filter type="log4net.Filter.DenyAllFilter" />
一这点最后你应该得到它的工作!
希望这有助于
如果log4net可以创建文件,它可能不是权限问题。您确定您正在测试的日志级别启用了日志记录功能吗?请向我们展示您拥有的log4net配置。 – driis
我同意driis在这里。如果你给我们你的log4net配置,我们可以告诉你它不是什么,并缩小我们的建议池。 –