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 ...
随机推荐
- 京东SSO单点登陆实现分析
京东的sso流程: 初始访问状态: cookies: http请求: 1.在首页点击登陆,跳转至passport.360buy.com,给予验证cookie alc(可以试试在提交登陆信息前删除该 ...
- C#轻量级高性能日志组件EasyLogger
一.课程介绍 本次分享课程属于<C#高级编程实战技能开发宝典课程系列>中的第六部分,阿笨后续会计划将实际项目中的一些比较实用的关于C#高级编程的技巧分享出来给大家进行学习,不断的收集.整理 ...
- .net连mysql数据库汇总
另外MySql官方出了一个在csharp里面连接MySql的Connector,可以试试 http://dev.mysql.com/downloads/#connector-net <add n ...
- ArcGIS Pro 中的布局
ArcGIS Pro 中的布局 页面布局(通常简称为布局)是在虚拟页面上组织的地图元素的集合,旨在用于地图打印.常见的地图元素包括一个或多个地图框(每个地图框都含有一组有序的地图图层).比例尺.指北针 ...
- 《王者荣耀》技术总监复盘回炉历程:没跨过这三座大山,就是另一款MOBA霸占市场了
如今已经大获市场成功的<王者荣耀>一直是业内各方关注的对象,而我们也知道这款产品在成为国民级游戏之前,也遇到过一段鲜有人知的调优期.也就是在2015年8月18号正式不删档测试版本推出之后, ...
- linux下生成https的crt和key证书
今天在配置kibana权限设置时,kibana要求使用https链接. 于是总结了一下linux下openssl生成 签名的步骤: x509证书一般会用到三类文,key,csr,crt Key 是 ...
- 蓝精灵:寻找神秘村Smurfs: The Lost Village迅雷下载
蓝妹妹(黛米·洛瓦托 Demi Lovato 配音)发现了一张遗落的地图,由此引发精灵们对于神秘村庄真实性的猜想.于是,满怀好奇心的蓝妹妹与聪聪(丹尼·朴迪 Danny Pudi 配音).笨笨(杰克· ...
- Java多线程中join方法的理解
thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程.比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B. t.join( ...
- ViewPager的简单用法+适配器+监听器的介绍
之前的actionbar+fragment文章中写过viewpager的简单用法,但因为是融合的文章,所以今天把viewpager提取出来写了.方便查询浏览~ 思路: 1.在布局文件中设置viewpa ...
- Java的并发编程中的多线程问题到底是怎么回事儿?
在我之前的一篇<再有人问你Java内存模型是什么,就把这篇文章发给他.>文章中,介绍了Java内存模型,通过这篇文章,大家应该都知道了Java内存模型的概念以及作用,这篇文章中谈到,在Ja ...