Log4net的不能产生Log文件的问题
【问题】
用如下的步骤应用了Log4Net:
- 建立了一个公用的项目, 在里面引入了Log4net的Nuget package.
- 在公用的项目中建立了一个类,加上了Log4net的attribute.
|
[assembly: log4net.Config.XmlConfigurator(Watch = true)] namespace MyNamespace.Common { public { static LogHelper() { var logCfg = new XmlConfigurator.ConfigureAndWatch(logCfg); } public { log4net.ILog log = log4net.LogManager.GetLogger(t); log.Error("", ex); }
public { log4net.ILog log = log4net.LogManager.GetLogger(t); //log.Info(msg + "\r\n"); log.Info(msg); }
} } |
- 建立了一个新项目,然后引用这个公用项目。
- 在这个新项目中加入了log4net.config文件。
|
<?xml <configuration> <configSections> <section </configSections>
<log4net> <appender <!--日志路径--> <param <!--是否是向文件中追加日志--> <param <!--log保留天数--> <param <!--日志文件名是否是固定不变的--> <param <!--日志文件名格式为:2008-08-31.log--> <param <!--日志根据日期滚动--> <param <layout <param </layout> </appender>
<!-- <appender <mapping> <level <foreColor </mapping> <mapping> <level <foreColor </mapping> <layout <conversionPattern </layout>
<filter <param <param </filter> </appender>
<root> <!--(高) OFF > FATAL > ERROR > WARN > INFO > DEBUG > ALL (低) --> <level <!--<appender-ref ref="ColoredConsoleAppender"/>--> <appender-ref </root> </log4net> </configuration> |
- 在新项目的文件中记Log.
|
LogHelper.WriteLog(typeof(MyClass), "here"); |
进行了上述的步骤后,程序运行的时候,并没有 Log产生。
【分析】
调试了一下,发现在实际运行的时候,Loger各个级别的输出都成false了。

这是怎么回事那?
最后发现程序输出路径下并没有log4net.config,这样的结果就是log4net无法找到配置文件,所以就默认都禁止输出了。
【解决方法】
在程序中将log4net.config设置为总是拷贝到输出目录。

这样,每次编译的时候,log4net.config就会被拷贝到程序的输出目录。
再运行程序的时候,就有log产生了。
Log4net的不能产生Log文件的问题的更多相关文章
- log4net 使用与配置 每天一份log文件
1.下载 或 在nuget安装 log4net 2. web.config (app.config) <configuration> <configSections> < ...
- C#中使用Log4net日志输出到本地文件、Textbox或Listview
网上很多配置log4net的方法,但是排行靠前的 根本就没有说明清除,导致浪费了两个小时来搞清楚如何配置,真是无语,特写此文,给那些刚接触log4net的朋友 1.参考链接:http://blog.s ...
- log4net的分类型输出文件的配置
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSe ...
- log4net生成多个日志文件
使用Log4Net日志组件时,经常会碰到这样一种场景,我想把错误的日志记录在Error.log文件中,而把操作的日志放在Operation.log文件中 经过几番尝试,终于实现了,在此把Log4Net ...
- IISExpress Log 文件路径
问题 用VS做开发时经常用IISExpress测试web程序,那么在测试过程中生成的Log文件放在哪里了? 答案 情况1 默认情况下 applicationhost.config 文中定义了连个日志文 ...
- SQLServer2005删除log文件和清空日志的方案
数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间.SQL Server数据库都有log文件,log文件记录用户对数据库修改的操作.可以通过直接删除log文件和清空日 ...
- 转 listener.log文件过大导致oracle数据库连接非常慢
数据库(31) 最近发现oracle数据库连接非常慢,sqlplus很快,用客户端就很慢,甚至会无响应. 然后服务器内存一下就飙升到了90%,不是表空间占满了,也不是数据库连接数占满了.重启还是一样 ...
- sql2008r 收缩数据库日志log文件;删除errorlog文件的方法
1.清空log文件,以减少数据库文件log所占的空间 USE dbname1 ; GO ALTER DATABASE dbname1 SET RECOVERY SIMPLE;--设置简单恢复模式 GO ...
- 关于一次oracle sqlplus可登陆,但监听起不来的解决。由于listener.log文件超过4G
1.在oracle服务器上cmd 执行 lsnrctl 执行start 过了好久,提示监听程序已经启动. 再执行status 过来好久,才提示命令执行成功. 最后找到原因是因为C:\Oracle\di ...
随机推荐
- Windows 7重启后USB 3.0无法使用的问题解决
1.首先对主板USB3.0驱动程序进行重新安装 2.如果驱动程序重装后还是无法解决无法使用USB3.0设备的话,在win7桌面上找到“计算机”图标并鼠标右键,选择“管理”选项,找到设备管理器,然后找到 ...
- Freescale OSBDM JM60仿真器 BGND Interface
The BGND interface provides the standard 6 pin connection for the single wire BGND signal type devel ...
- [Go] sync.Pool 的实现原理 和 适用场景
摘录一: Go 1.3 的 sync 包中加入一个新特性:Pool. 官方文档可以看这里 http://golang.org/pkg/sync/#Pool 这个类设计的目的是用来保存和复用临时对象,以 ...
- Word中如何从某一页重新开始页码
- MyBatis-Generator最佳实践
引用地址:http://arccode.net/2015/02/07/MyBatis-Generator%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5/ 最近使用MyBati ...
- iOS用全局宏的概念理解xcode中的设置 preprocessor macros
ios有没有全局宏,或者在工程属性里设置宏? 比如我设置了一个宏叫IOS, 在所有/整个工程的代码里这个宏都是有效的. ------解决方案-------------------- 在工程的设置属性里 ...
- <c:otherwise>
<c:if>没有<c:else>可以用<c:choose>来取代结构:<c:choose> <c:when test=""&g ...
- sendto 和 recvfrom 函数
sendto recvfrom
- 浴血黑帮第一季/全集Peaky Blinders迅雷下载
本季第一季Peaky Blinders Season 1 (2013)看点:<浴血黑帮>Peaky Blinders是从战后伯明翰地区走出的一个传奇黑帮家族,时间要追溯到1919年,家族成 ...
- Android源码中final关键字的用法及final,finally,finalize的区别
Android开发的学习流程 final,finally,finalize的区别 Android的发展越来越快,Android开发人员越来越多,当两种情况碰撞,在诸多开发者中跟紧Android步伐脱颖 ...