Log4Net 最最最基本的应用。作为个人记录
本文只记录了将日志按照日期记录到文件中的方法。
注:1.如果将该方法封装在类库中,在引用类库的项目中添加配置文件。
2.如果程序为控制台程序、winfrom程序,需将配置文件存放在/bin/debug/中。
1.引用 Log4Net.dll
2.在项目AssemblyInfo.cs中添加
[assembly:log4net.Config.XmlConfigurator(ConfigFile="Log4Net.config",Watch=true)]
其中ConfigFile为配置文件存放位置。
3.编写配置文件Log4Net.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<log4net>
<logger name="ErrorLog">
<appender-ref ref="ErrorLog"></appender-ref>
</logger>
<appender name="ErrorLog" type="log4net.Appender.RollingFileAppender">
<param name="File" value="MainLog/" />
<param name="AppendToFile" value="true" />
<!--是否默认文件名-->
<param name="StaticLogFileName" value="false" />
<!--变换的形式为日期-->
<rollingStyle value="Date" />
<!--日期的格式,每天换一个文件记录-->
<datePattern value="yyyyMMdd.TXT" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="[Log]%n记录时间:%d %n异常信息:%m%n[EndLog]%n%n" />
</layout>
</appender> <logger name="InfoLog">
<level value="INFO"></level>
<appender-ref ref="InfoLog"></appender-ref>
</logger>
<appender name="InfoLog" type="log4net.Appender.RollingFileAppender">
<param name="File" value="InfoLog\\" />
<param name="AppendToFile" value="true" />
<!--是否默认文件名-->
<param name="StaticLogFileName" value="false" />
<!--变换的形式为日期--> <rollingStyle value="Date" /> <!--日期的格式,每天换一个文件记录--> <datePattern value="yyyyMMdd.TXT" /> <layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="[Log]%n记录时间:%d %n异常信息:%m%n[EndLog]%n%n" />
</layout>
</appender> <logger name="WarnLog">
<level value="INFO"></level>
<appender-ref ref="WarnLog"></appender-ref>
</logger>
<appender name="WarnLog" type="log4net.Appender.RollingFileAppender">
<param name="File" value="WarnLog\\" />
<param name="AppendToFile" value="true" />
<!--是否默认文件名-->
<param name="StaticLogFileName" value="false" />
<!--变换的形式为日期--> <rollingStyle value="Date" /> <!--日期的格式,每天换一个文件记录--> <datePattern value="yyyyMMdd.TXT" /> <layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="[Log]%n记录时间:%d %n异常信息:%m%n[EndLog]%n%n" />
</layout>
</appender> <logger name="FatalLog">
<level value="INFO"></level>
<appender-ref ref="FatalLog"></appender-ref>
</logger>
<appender name="FatalLog" type="log4net.Appender.RollingFileAppender">
<param name="File" value="FatalLog\\" />
<param name="AppendToFile" value="true" />
<!--是否默认文件名-->
<param name="StaticLogFileName" value="false" />
<!--变换的形式为日期--> <rollingStyle value="Date" /> <!--日期的格式,每天换一个文件记录--> <datePattern value="yyyyMMdd.TXT" /> <layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="[Log]%n记录时间:%d %n异常信息:%m%n[EndLog]%n%n" />
</layout>
</appender> </log4net> </configuration>
4.程序中使用
log4net.ILog _errorLog = log4net.LogManager.GetLogger("ErrorLog");
//ErrorLog 为 Log4Net.config中logger设置的
_errorLog .Warn("错误信息");
Log4Net 最最最基本的应用。作为个人记录的更多相关文章
- 如何使用Apache log4net库与ASP.NET MVC 5日志记录
在运行软件程序的时候,跟踪和监控日志是一种记录过程的好方法. 简介: 在运行软件程序的时候,跟踪和监控日志是一种记录过程的好方法.尤其在应用程序出错的时候,日志是我们最需要的文件.不管是在web,wi ...
- 如何配置Log4Net使用Oracle数据库记录日志
最近在做一个项目的时候,需要增加一个日志的功能,需要使用Log4Net记录日志,把数据插入到Oracle数据库,经过好久的研究终于成功了.把方法记录下来,以备以后查询. 直接写实现方法,分两步完成: ...
- Log4net按照不同级别写入多个日志文件
[assembly: log4net.Config.XmlConfigurator(Watch = true)]//注入 在一个Web应用项目中,我使用了Fluent NHibernate作为数据访问 ...
- (转)非常完善的Log4net详细说明
转自:http://www.cnblogs.com/zhangchenliang/p/4546352.htmlhttp://www.cnblogs.com/zhangchenliang/p/45463 ...
- 非常完善的Log4net详细说明
4.1.6 <filter> 过滤器,只能作为<appender>的子元素. 支持的属性: type 必须的,Filter的类型 支持的子元素: param 0个或多个, ...
- Log4net使用(二)
日志记录到根目录Log文件夹,文件夹中分LogError与LogInfo文件夹 web.config配置: <configSections> <section name=" ...
- log4net详解(转载)
1.概述 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介.本文主要是介绍如何在Visual S ...
- log4net详细配置说明
原文地址:http://blog.sina.com.cn/s/blog_671486bc01011rdj.html 1.概述 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记 ...
- Log4net介绍
一.Log4net介绍 log4net是一个功能著名的开源日志记录组件.利用log4net可以方便地将日志信息记录到文件.控制台.Windows事件日志和数据库(包括MS Server,Access, ...
随机推荐
- C - 你经历过绝望吗?两次! 【地图型BFS+优先队列(障碍物)】
4月16日,日本熊本地区强震后,受灾严重的阿苏市一养猪场倒塌,幸运的是,猪圈里很多头猪依然坚强存活.当地15名消防员耗时一天解救围困的“猪坚强”.不过与在废墟中靠吃木炭饮雨水存活36天的中国汶川“猪坚 ...
- C++指针和数组的区别(不能混用的情况)
通常情况下,C++中指针和数组是可以混用的,但是,在编写字符数组的全排列的时候,混用却出了问题,因此,今天特地mark一下,以备日后查找 这里整理的,不包括用new开辟的动态数组 1.数组一旦声明,我 ...
- Typora
Typora BB in front 如果你是一个佛(lan)系(duo),内心文艺的程序员,并且你对其他Markdown编辑器的使用效果感觉不是很好的话,可以来了解一下该软件Typora. What ...
- circusctl命令在ubuntu 上执行,卡住的现象处理。
1. circus介绍 circus是一个进程管理工具,类似于supervisod. 2. circusctl是circusd进程的管理工具 3. circus的安装 pip3 install cir ...
- MongoError: topology was destroyed解决方法
MongoError: topology was destroyed 分析得出,出现这个问题是因为,当mongodb尝试写入某个数据的时候,连接被中断了! 解决方法:检查代码中是否存在操作数据的过程中 ...
- 【kmp算法】模板
void GetFail(char P[],int __next[])//__next[i]表示s[0]~s[i-1]的前缀中,最大长度相等的前后缀是多少 { __next[0]=-1; int le ...
- python3开发进阶-Django框架的自带认证功能auth模块和User对象的基本操作
阅读目录 auth模块 User对象 认证进阶 一.auth模块 from django.contrib import auth django.contrib.auth中提供了许多方法,这里主要介绍其 ...
- [CodeChef-LVGFT]Lovers Gift
题目大意: 给定一个$n(n\le10^5)$个结点的树,初始全为白点.$m(m\le10^5)$次操作,每次将点$x$染成黑色或询问从$x$出发至少经过一个黑点能到达的点中,编号次大的点. 思路: ...
- [SHOI2014]信号增幅仪
题目大意: 平面直角坐标系中散落着n个点,一个椭圆的长半轴在对于x轴逆时针旋转α度的角度上,且长半轴是短半轴的k倍. 问短半轴至少要多长才能覆盖所有的点? 思路: 首先把坐标顺时针旋转α度,然后把所有 ...
- iOS 公司开发者账号申请清单
公司开发者账号申请清单: Apple ID账号申请: (有账号请提供账号密码) Apple ID: (最好是公司邮箱账号) Apple ID密码: (大于8位, 字母或数字组成, 包含 ...