log4net 配置文件相对路径配置
来源:互联网 发布:东芝2303a复印机淘宝网 编辑:程序博客网 时间:2024/06/07 20:12
log4net 配置文件相对路径配置
本写主要方向为对配置文件放在相对位置,并非程序(项目)根目录下的的配置方法。
一、关于配置方法
关于log4net的使用我想大家都知道,配置也是有很多的方案,在这里给出一些索引地址:
实例地址:http://blog.csdn.net/pfe_nova/article/details/12225349
官方配置地址:http://logging.apache.org/log4net/release/config-examples.html
二、我配置时的问题
因为我是做的一个WinFrom的项目,所以自己写了一个单独的log操作程序集(Project),将配置也写在了这个项目中并放到了Config目录下,结构如下图
根据网上的配置方法,在AssemblyInfo.cs文件中做了如下配置:
修改前:
[assembly: log4net.Config.DOMConfigurator(Watch = true, ConfigFile =Log4net.config”)]
修改后:
[assembly: log4net.Config.DOMConfigurator(Watch = true, ConfigFile =@”Config\Log4net.config”)]
经过在网上找资料和尝试的过程后,日志一直没有写到文件,后来根据调试,在程序中找到了LogManger类中找到了取配置文件的路径后发现修改前取到的路径不正确后想到使用相对路径进行配置(这是多么低级的问题!!),发现问题后修改成相对路径后正常输出日志,为此贴出配置文件和代码文件部分如下:
配置文件:
<log4net> <!--跟踪日志配置--> <appender name="TraceLogFileAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" type="" value="App_log\\" /> <param name="AppendToFile" value="true" /> <param name="MaxSizeRollBackups" value="10"/> <param name="RollingStyle" value="Date" /> <param name="DatePattern" value="yyyy-MM-dd'.log'" /> <param name="StaticLogFileName" value="false" /> <layout type="log4net.Layout.PatternLayout,log4net"> <param name="ConversionPattern" value="%d [%5p] %c: %m%n" /> </layout> <filter type="log4net.Filter.LevelRangeFilter,log4net"> <levelMin value="DEBUG" /> <levelMax value="WARN" /> </filter> </appender> <!--错误日志配置--> <appender name="ErrorLog" type="log4net.Appender.RollingFileAppender"> <file value="App_log\\Error\\" /> <MaxSizeRollBackups value="20" /> <StaticLogFileName value="false" /> <DatePattern value="yyyy-MM-dd'.log'" /> <RollingStyle value="Size" /> <MaximumFileSize value="10MB"/> <appendToFile value="true" /> <layout type="log4net.Layout.PatternLayout"> <header value="[BEGIN LOGGING AT %date]%newline" type="log4net.Util.PatternString" /> <footer value="[END LOGGING AT %date]%newline%newline" type="log4net.Util.PatternString" /> <ConversionPattern value="%d [%t] %-5p %c : [行号:%-5L] %m%n" /> </layout> <filter type="log4net.Filter.LevelRangeFilter,log4net"> <levelMin value="ERROR" /> <levelMax value="FATAL" /> </filter> </appender> <root> <!--控制级别,由低到高: ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF--> <level value="ALL" /> <appender-ref ref="ErrorLogFileAppender" /> <appender-ref ref="TraceLogFileAppender" /> </root> <logger name="ALL" > <!--control log level: ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF--> <!--如果没有定义LEVEL的值,则缺省为DEBUG--> <level value="ALL" /> <appender-ref ref="ErrorLogFileAppender"></appender-ref> <appender-ref ref="TraceLogFileAppender"></appender-ref> </logger> </log4net>
代码文件:
/// <summary> /// log对象 /// </summary> private log4net.ILog _log = null; private log4net.ILog Log { get { if (_log == null) { Type type = MethodBase.GetCurrentMethod().DeclaringType; _log = LogManager.GetLogger(type); } return _log; } }
三、总结
对于写单独配置文件的可以使用如下的方式来加载配置文件:
1.在AssemblyInfo.cs文件中加入如下代码
[assembly: log4net.Config.DOMConfigurator(Watch = true, ConfigFile = @"Config\Log4net.config")]
2.在生成LOG对象之前初始化Log配置文件,代码如下:
/// <summary> /// log对象 /// </summary> private log4net.ILog _log = null; private log4net.ILog Log { get { if (_log == null) { XmlConfigurator.Configure(@"Config\Log4net.config"); Type type = MethodBase.GetCurrentMethod().DeclaringType; _log = LogManager.GetLogger(type); } return _log; } }
知识需要灵活运用,敬!
- log4net 配置文件相对路径配置
- log4net 配置文件配置方法
- log4j配置文件相对路径
- 如何找到配置文件的相对路径
- 配置文件使用绝对路径还是相对路径?
- log4j 配置文件中设置相对路径
- svn 配置文件 绝对路径和相对路径
- java jar 配置文件的相对路径问题
- JAVA使用相对路径读取配置文件
- log4j相对路径的配置
- JAVAWEB相对路径的配置
- log4j相对路径的配置
- log4net配置文件
- 动态配置配置文件路径
- log4net 修改日志输出格式的绝对文件路径为相对文件名
- log4j配置相对路径实现日志记录
- log4j配置相对路径实现日志记录
- log4j配置相对路径实现日志记录
- 说说JSON和JSONP,也许你会豁然开朗
- 1.Maven环境搭建
- Spring多数据源配置及事务管理(待续)
- struts2中的constant配置详解
- Sitemesh与Freemarker
- log4net 配置文件相对路径配置
- Struts2-Action
- 60款与Hadoop和大数据相关的顶级开源工具
- BLE HID:HOGP 设备开发指引
- HTML、CSS、Javascript、Bootstrap学习链接
- 【LeetCode】88 Merge Sorted Array
- C++primer plus第六版课后编程练习答案13.2
- 控制转移语句
- 番茄工作法 学习笔记