log4net不输出日志的原因及解决方案

log4net不输出日志文件主要有以下几个原因:

1 没有在AssemblyInfo文件中添加下面的代码:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch  = true)]
1
2 运行程序目录下没有log4net.config配置文件。
解决方法有两种:

手动将log4net.config复制到运行程序
选择解决方案中的log4net.config,在属性–>复制到输出目录,选择始终复制。
3 运行程序目录下没有log4net.dll文件。
解决方案:

手动复制,一般不会出现。

4 log4net的net framework版本与运行程序的版本不一致。
如果在调试中出现以下提示:

引发的异常:“log4net.Appender.FileAppender.LockingStream.LockStateException”(位于 log4net.dll 中)
引发的异常:“System.InvalidOperationException”(位于 System.dll 中)
引发的异常:“System.IO.PathTooLongException”(位于 mscorlib.dll 中)
引发的异常:“System.IO.PathTooLongException”(位于 mscorlib.dll 中)
引发的异常:“log4net.Appender.FileAppender.LockingStream.LockStateException”(位于 log4net.dll 中)

就很有可能是这个原因。

解决方案:

更改log4net版本或者运行程序的net framework版本。

5 log4net.config的配置文件中有错误。
解决方案:

这个问题最难解决,因为你必须要仔细检查每一个设置点。例如我有一次就无法输出日志,最后发现,file节点配置如下:

<file value="\\Log\\Common\\"/>
1
更改为

<file value="Log\\Common\\"/>
1
期待的日志就出现了。因此,如果前面确定都没有问题的话,你就应该仔细检查一下你的配置文件了。
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/sgmcumt/article/details/83021616

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值