Log4net不能输出日志文件的问题(在线等)

新人初涉log4net,用了网上介绍的一种方法,LogBll下有以下修改log路径的函数

  1 private void ChangeLog4netLogFileName(log4net.ILog iLog,string fileName)
 2         {
 3            log4net.Core.LogImpl logImpl= iLog as log4net.Core.LogImpl;
 4             if(logImpl!=null)
 5             {
 6                 log4net.Appender.AppenderCollection ac=((log4net.Repository.Hierarchy.Logger)logImpl.Logger).Appenders;
 7                 for(int i=0;i<**ac.Count**;i++)
 8                 {    //这里我只对RollingFileAppender类型做修改
 9                     log4net.Appender.RollingFileAppender rfa = ac[i] as log4net.Appender.RollingFileAppender;
10                     if(rfa!=null)
11                     {
12                         rfa.File = fileName;
13                         if(!System.IO.File.Exists(fileName))
14                         {
15                             System.IO.File.Create(fileName);
16                         }
17                         //更新Writer属性
18                         rfa.Writer=new System.IO.StreamWriter(rfa.File,rfa.AppendToFile,rfa.Encoding);
19                     }
20                 }
21             }
22         }

但在调试后ac.count为0,而且iLog的isDebugEnabled等属性都为false,求大神帮忙看一下,在线等

0

1个回答

0
u010714954
w100801321 谢谢,但是我的配置文件时那样写的啊,还是不行啊
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
【已解决】c# log4net无法正常写日志 无log文件夹
问题: 调用log4net写日志              程序正常运行无报错,但是发现没有log日志 尝试方案:[assembly: log4net.Config.XmlConfigurator(Watch = true)]   (无效) 解决方案: 1.确保正确引用log4net文件夹 2.bin/debug目录下存在log4net.dll以及log4.config文
log4net不输出日志的原因及解决方案
log4net不输出日志文件主要有以下几个原因: 1 没有在AssemblyInfo文件中添加下面的代码: [assembly: log4net.Config.XmlConfigurator(ConfigFile = &quot;log4net.config&quot;, Watch = true)] 2 运行程序目录下没有log4net.config配置文件。 解决方法有两种: 手动将log4net.conf...
C# log4net无法输出日志
C# log4net无法输出日志 检查后发现,web.config中的配置正常,代码跟踪时可以正常执行。 跟踪过程中有一个小细节,各日志处理器实例的IsErrorEnabled等属性都是Flase 网上找了找,发现只要在AssemblyInfo.cs中添加如下代码就可以解决: [assembly: log4net.Config.XmlConfigurator(Confi
unity3d使用log4net时日志文件生成位置问题
log4net github指路:https://github.com/apache/logging-log4net 我在U3D中加入Log4Net时,文件相对路径是有问题的,一直生成在U3D的Editor文件下,需要进行修改。 在SystemInfo.cs中找到ApplicationBaseDirectory 修改Return的值为自己的路径即可。   RollingFileAppen...
C#使用Log4NET
在WEB.CONFIG做如下配置 &amp;lt;configSections&amp;gt;    &amp;lt;!--要引用log4net 相關ConfigurationSection--&amp;gt;    &amp;lt;section name=&quot;log4net&quot; type=&quot;log4net.Config.Log4NetConfigurationSectionHandler, log4net&quot;/&amp;gt;  &amp;lt;/con...
关于log4Net 没有日志输出的问题
这个是做项目时调用log4net时出现的一个问题,如果将log4net配置在app.config web.config中日志可以正常输出,如果自定义配置文件,无法输出。原因就是自定义的config文件没有设置默认复制,在自定义的配置文件右键-属性-复制到输出目录,选择always
log4net配置后不运行,没有日志输出
偷懒,新建项目中使用Nuget下载了log4net的配置文件(就那不带版本号的log4net.detail里面有说明是log4net xml),但设置好之后,log4net竟然奇葩的罢工了,没有任何报错。该配置方式是使用独立的log4net.xml文件来进行配置。 加载使用: code var log4net_config=Path.Combine(Path.GetDirectoryName
c#应用程序使用log4net组建输出不了日志问题的解决
log4net无法输出日志的原因及解决办法
log4net发布之后无法写入日志原因汇总
1.文件夹路径2.文件夹读写权限3.我也有发布之后无法写入日志,我的原因是在发布之前没有以release状态重新编译,重新编译之后,在发布就能写入了4.log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo(“\log4net.config”));改为log4net.Config.XmlConfigurator.Configur
让Log4Net 立即写日志文件
Log4Net会将日志缓冲到内存, app退出时才会写入磁盘, 但调试阶段常常希望在app运行时即时看到产生的日志, 这时候需要在配置里面增加ImmediateFlush参数 : postgres
log4net按照日志等级生成相应的日志文件(多文件配置)
log4是日常开发中使用比较多的日志记录工具,先放一段关于log4net Loggers的基本说明: Logger是直接和应用程序交互的组件。Logger只是产生日志,然后由它引用的Appender记录到指定的媒介,并由Layout控制输出格式。Logger提供了多种方式来记录一个日志消息,也可以有多个Logger同时存在。每个实例化的Logger对象对被log4net作为命名实体(Named
C# Log4net无法正常输出日志
        本人初学Log4net,一开始在网上查了很多资料,看了很多相关博客,自己在本地新建了一个Asp.Net的webapi项目,搭好相关环境之后,开始配置log4net,发现配置文件没有问题,程序也没有报错,但是日志无法正常输出。 解决方案 [assembly:log4net.Config.XmlConfigurator(ConfigFile = &quot;log4net.config&quot;, ...
log4net中使用.html文件记录日志
之前项目中记录debug信息的log是以.txt文档的形式记录的,一打开都是满眼的黑白文字,不方便查看。   考虑到log4net的file appender配置参数中,file的格式拓展名是自己定义的,那么即意味着可以将日志输出为.html文件。   配置appender采用rollingfileappender,除了以下三点之外与.txt文件的配置过程一样: 将文件后缀配置为.h
Log4Net使用时间作为日志文件路径
在服务器端使用日志文件时,按日期分类是比较方便的。我一般是使用Log4Net来作为日志系统的。Apache的一个开源系统,功能是很强,文档也不是一般的糟糕。乱的根本没法找到想要查的信息。基本都是在官网上看看例子,在网上找点资料摸索使用,有空我会写一篇比较完全的说明文档接下来就是说一下如何使用日期来建立文件夹,网上查资料,有一种方法是设置datePattern,但是这个方法有个问题,因为它本来是用来设
C#开发之控制台程序使用log4net日志组件
使用背景: 用C#写一个TCP/IP server端的程序,需要将发送和接收的报文以日志的形式保存,所以进行了如下配置; 1、这其中我所创建的工程是C#控制台应用;   2、使用NuGet下载安装log4net.dll; 3、添加新建项-应用程序配置文件App.config(如果项目中已存在该文件,则不需要重新添加),然后在Ap
Log4Net封装,类可直接引入使用,附demo,不同级别日志写不同文件
Log4Net封装成库,可直接引入使用。包含封装好的类和Demo源码。
log4net 2.0.8不能将log txt作为日志的扩展名的原因
log4net 2.0.8不能将log txt作为日志的扩展名的原因
Log4net 日志操作
Log4net 对日志文件的输出 Log4net 对数据库的操作 Log4net 对自定义参数 与数据库的操作
如何解决log4net无法打印日志
今天修改一个服务端程序的代码,后来发现程序引用了log4net,但是发现无法打印输出日志,其中dll放在bin目录下,log4net的版本与。Net framework版本也一致,而且发现客户端的正常,服务端却无法输出日志,于是开始度娘,发现网上给出的解决方法如下: 在AssemblyInfo.cs中添加下面一行语句 [assembly: log4net.Config.DOMConfigurat
log4net编译日志文件
log4net编译日志文件 log4net编译日志文件 log4net编译日志文件
c# log4net日志无法输出的原因
今天在做log4net demo的时候,写的是winform程序,日志死活不能输出,在网上找了很多资料,都没办法解决,后来到Log4Net官网看了下,找到了解决方法,地址为http://logging.apache.org/log4net/release/manual/configuration.html,就是要加入 BasicConfigurator.Configure(); 这段代码, ...
基于log4net的支持动态文件名、按日期和大小自动分割文件的日志组件
最近处理一个日志功能,用log4net的配置不能完全满足要求,所以在其基础上简单封装了一下,支持以下功能: 1 零配置 内置默认配置,引用dll后不需要添加或修改任何配置文件也可以使用 2 动态指定文件路径和文件名 我们的需求是按请求来源和功能生成多个独立的日志文件,例如  /app编号/功能编号.txt 的结构,需要根据请求动态指定文件名称 3 按日期和大小自动分割文件,满足其中一个条
C# log4net 不输出日志
1、概述 log4net是.Net下一个非常优秀的开源日志记录组件。log4net记录日志的功能非常强大。它可以将日志分不同的等级, 以不同的格式,输出到不同的媒介。本文主要是介绍如何在Visual Studio2008中使用log4net快速创建系统日志,如何扩展以输出自定义字段。 2、一个简单的使用实例 第一步:在项目中添加对log4net.dll的引用,这里引用版本是1.2.1
log4net自动删除日志文件实现
log4net,可以根据配置的时间长度,实现了自动删除过期的日志文件,欢迎大家使用或者分享更科学的方法。
log4net 各种等级的消息 输出到不同日志文件的 配置文件方式
正文: 这是用log4net 1.2.9.0环境下 将不同等级消息输出到不同日志文件的配置文件,log4net.config 在项目中增加引用,在AssemblyInfo.cs里增加一句话: [assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)] 在Appl...
log4net自动删除日志文件【实现】
根据上一篇的思路,简单完成了根据时间设置,自动删除过期的日志文件,测试代码链接如下: http://download.csdn.net/download/dreamgis/10035539 直接在log4net的配置文件中添加一个属性,用来设置过期时间长度(单位:天),见下图: 我这里测试,设置过期时间是5天,效果如下图:
log4net自动删除日志文件
晚上关于删除的日志文件主要有https://blog.csdn.net/hellolib/article/details/78316253, 其实我这里的实现方式和他差不多,不过我这里不用配置时间, 直接写死 删除10天以前的日志数据, static ILog _log = null; static object lockHelper = new object(); ...
log4net自动删除日志文件,摸索记录
我的需求,跟这位网友一样,想让日志文件自动被删除掉,只保留最近一段时间的。转自:http://bbs.csdn.net/topics/370171242 =============网友需求start=========== 如何控制log4net写日志文件的数量 就是其他配置我都已经配置好了,能达到我的要求,日志文件是按日期产生的,如:Log2010.04.07.log,Log2010.04.
log4net记录日志,在IIS发布后不记录日志问题解决方案
正常web.config中日志配置如下: <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
log4net以日期作为文件夹名生成log
将日志分日期记录相信是很多系统都这么做的,因为查找起来十分方便。而根据log4net说明文档,可以这么配置&amp;lt;appender name=&quot;RollingLogFileAppender&quot; type=&quot;log4net.Appender.RollingFileAppender&quot;&amp;gt; &amp;lt;file value=&quot;logfile&quot; /&amp;gt; &amp;lt;appendToFile ...
封装:Log4net记录日志文件
结构: /// 统一日志输出的类 public class Log4netProvider { /// 重置配置 public static void ReplaceFileTag(string logconfig) { try { S
log4net动态修改文件名【正规方法】
为什么说是正规呢?是因为还有不正规的方法 1.先说正规方法   输出日志前,使用log4net提供的工具log4net.Util.PatternString来进行参数替换 在xml里面这样写 &amp;lt;file type=&quot;log4net.Util.PatternString&quot; value=&quot;log\%property{fname}.log&quot;/&amp;gt; 在c#里面这样写 log4net....
log4net 配置文件相对路径配置
log4net 配置文件相对路径配置本写主要方向为对配置文件放在相对位置,并非程序(项目)根目录下的的配置方法。
c# 调用log4net,解决中文字符显示乱码的问题
主要步骤: 1.下载从开源网站下载获取dll文件log4net.dll; http://logging.apache.org/log4net/download_log4net.cgi  2.建立c# winform项目,名称为logTest; 3.添加配置文件log.config;
Log4net等级说明以及按照不同级别写入多个日志文件
等级说明:Level级别:DEBUG &amp;lt;INFO&amp;lt;WARN&amp;lt;ERROR&amp;lt;FATAL &amp;lt;root&amp;gt; &amp;lt;level value=&quot;INFO&quot;/&amp;gt; &amp;lt;appender-ref ref=&quot;RollingLogFileAppender&quot;/&amp;gt; &amp;lt;appender-ref ref=&quo
log4net配置经验教训
第一点:权限问题,一定要给要写入日志文件的目录宽松的权限。 本人就是因为权限问题浪费了很多时间。(因为iis user 的权限是相对低的,log4net又需要创建文件,所以权限一定要给足,后面可以用应用程序池配置)本人想用单独配置文件,所以基本步骤如下: 1:下载net4log, 具体地址就不贴了,给一个官网的配置说明页:http://logging.apache.org/log4ne
log4net 按天与按小时记日志的配置
1 按天记日志 <param name="Header" value=" " /> 2 按小时记日志
log4net 不打印日志
今天碰到lognet 配置完毕后打印不出日志的问题,查阅网上资料发现,原因多是配置和使用不全。 配置步骤归结为三步: 1. project中引入log4net.dll,这里推荐使用nuget。。。简单方便快捷 2. 定义lognet配置项,可在Web.config 或者 App.config 等配置文件中定义,也可以使用独立的配置文件。 3. 在程序中显式声明使用配置项。也有两种方法,一...
log4net在webservice中的应用实例
C# webservice程序中配置log4net的应用。
log4net使用方法(WebForm)
as