log4net 动态设定日志文件名

参考文章:

http://blog.csdn.net/haoxiaozigang1/article/details/16343303

通过这个篇文章的方法,只能修改文件的路径,文件名并没有修改

参考文章:

http://blog.csdn.net/yangchun1213/article/details/6580014

我修改了一下代码:

var repository = LogManager.GetRepository();
            var appenders = repository.GetAppenders();
            var targetApder = appenders.First(p => p.Name == "RunLog") as log4net.Appender.RollingFileAppender;
            targetApder.File = fileName;
            targetApder.Writer = new System.IO.StreamWriter(targetApder.File, targetApder.AppendToFile, targetApder.Encoding);
            //targetApder.ActivateOptions();
            ILog logger = LogManager.GetLogger(GetType());
            logger.Error(ex);

  

  

使用该方法,改了之后,如果不使用

ChangeLog4netLogFileName
方法,直接输出log,它也是修改之后的而不是配置文件中配置的那个。
时间: 2024-10-11 13:19:38

log4net 动态设定日志文件名的相关文章

动态修改log4net组件的日志文件名

最近项目使用到log4net来记录日志,当然二话不说先到cnblogs上查看一下各位高手关于log4net的教程和心得主要参看了摩诘 的Log4Net使用指南 (确实是非常好的log4net的入门指南),在此篇文章的评论中@所罗门 有个问题可能摩诘比较忙没有时间去是实验和解答,问题如下:如果我在配置文件里不设定Appender的File,即删除了<param name="File" value="log-file.txt" /> 一行信息,我想要在程序运

EntLib6 日志RollingFlatFileTraceListener按实际时间命名日志文件名

关于EntLib的各种构成.原理什么的网上随便找就能找到一大堆相应文章,这里就不细述此部分的相关内容 在使用中,发现RollingFlatFileTraceListener记录下来的日志文件名居然与实际记录的日志Timestamp不一致,比如日志文件内记录的日志是2015-01-20 10:00的,你会发现实际该日志文件的名字为2015-01-20-10:01甚至可能更后(假定设置的RollInterval为Minute,设定的timeStampPattern为yyyyMMddHHmm),因为E

也用 Log4Net 之将日志记录到数据库的后台实现 (二)

 大家下午好,昨天讲了配置,今天我们讲讲后台实现,在完成了后台实现后,我们才能真正意义上的解决把自定义属性字段值录入到数据库中. 在开写之前我先着重强调一下,“日志”的概念非常广泛,有错误日志.操作日志.访问日志.事件日志等等.我们并不提倡把所有的日志都记录到数据库,因为这样做没有必要.同时如果日志数据表与业务表同在一个数据库的话,频繁的记录日志的操作会影响性能(Log4Net提供了缓存机制,可以在缓存日志数据达到设定值,比如200条时,Log4Net会批量将数据录入到数据库中.即便是这么好的机

如何使用 log4net 以日期为文件名输出

最近在研究log4net的使用,发现大多数资料都只告诉我们一些简单的应用,没有详细的使用教程,很多很常用的功能都没有相关资料. 比如:我想使用RollingFileAppender以日期为日志文件名,网上提供最多的做法就是: <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender,log4net">      <file value=&qu

Log4Net 之将日志记录到数据库的后台实现 (二)

原文:Log4Net 之将日志记录到数据库的后台实现 (二) 大家下午好,昨天讲了配置,今天我们讲讲后台实现,在完成了后台实现后,我们才能真正意义上的解决把自定义属性字段值录入到数据库中. 在开写之前我先着重强调一下,"日志"的概念非常广泛,有错误日志.操作日志.访问日志.事件日志等等.我们并不提倡把所有的日志都记录到数据库,因为这样做没有必要.同时如果日志数据表与业务表同在一个数据库的话,频繁的记录日志的操作会影响性能(Log4Net提供了缓存机制,可以在缓存日志数据达到设定值,比如

MVC 中使用log4net 打印重复日志解决方法

最近在项目中引用log4net 来打印日志,会发现在同一时间点 打印重复记录: 详见图 其实,解决这个问题挺简单的就是太配置文件上logger 标签上添加一个additivity="false"属性就好了:完美解决.

Log4cpp配置文件及动态调整日志级别的方法

一.log4cpp概述 Log4cpp是一个开源的C++类库,它提供了C++程序中使用日志和跟踪调试的功能,它的优点如下: 提供应用程序运行上下文,方便跟踪调试: 可扩展的.多种方式记录日志,包括命令行.文件.回卷文件.内存.syslog服务器.Win事件日志等: 可以动态控制日志记录级别,在效率和功能中进行调整: 所有配置可以通过配置文件进行动态调整: 多语言支持,包括Java(log4j),C++(log4cpp.log4cplus),C(log4c),python(log4p)等: 二.原

Android动态设定GridView的高度,固定column,实现高度自适应

动态设定GridView的高度,固定column,根据gridview中的item个数设定高度: 调用以下方法: [java] view plaincopy public static void setListViewHeightBasedOnChildren(GridView listView) { // 获取listview的adapter ListAdapter listAdapter = listView.getAdapter(); if (listAdapter == null) {

log4j范例,动态切换日志位置

详解参考:http://www.cnblogs.com/ITEagle/archive/2010/04/23/1718365.html Logger.getRootLogger().getAppender(""); MyFileAppender.setFile(); 动态改变日志位置: package com.von.log; import java.io.File; import org.apache.log4j.RollingFileAppender; public class M