(24)C#log4net配置和使用
一、下载并引用log4
DLL下载 http://logging.apache.org/
找到.net版本的
点击下载
找到编译好的bin
选择net
选择你项目对应的.net framework版本
里面的DLL就是我们要用的文件,
把他引用到项目中
引入命名空间
二、配置APPconfig
1、创建APPconfig
配置APPconfig
在工程名上右键-添加-新建项,找到应用程序配置文件,默认名App.config
创建成功后默认代码如下,所有的配置都要写在<configuration></configuration>之间
<?xml version="1.0" encoding="utf-8" ?>
<configuration> </configuration>
2、<log4net></log4net>里有五个子元素
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<log4net> <root></root>
<logger></logger>
<appender></appender>
<layout></layout>
<param></param> </log4net>
</configuration>
三、控制台输出日志
1、新建并配置APP.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<log4net>
<root>
<level value="ALL" />
<appender-ref ref="ConsoleAppender" />
</root>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
</layout>
</appender>
</log4net>
</configuration>
2、
默认的APP.config编译后文件是和bin文件夹在同一级的
选中APP.config右键属性-把复制到输出目录设置为始终复制,这样就拷贝了一份config文件到bin里
3、关联APP.config文件
打开工程Properties文件夹下的AssemblyInfo.cs 加入代码
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "App.config", Watch = true)]
如果控制台不输出日志,去掉configFile
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
4、控制台代码
using System;
using System.Collections.Generic;
using System.Text;
using log4net; namespace log4
{
class Program
{
static void Main(string[] args)
{
ILog log = LogManager.GetLogger("ConsoleAppender");
log.Info("测试");
Console.ReadKey();
}
}
}
四、文件输出日志
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<log4net>
<appender name="FileAppender" type="log4net.Appender.FileAppender">
<file value="Log.log" />
<Layout type="log4net.Layout.PatternLayout">
</Layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="FileAppender" />
</root>
</log4net>
</configuration>
运行三次
五、数据库记录日志
六、记录多个日志文件
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net> <logger name="Logging">
<level value="ALL"/>
<appender-ref ref="RollingFileAppender_INFO"/>
<appender-ref ref="RollingFileAppender_WARN"/>
</logger> <!--记录INFO方法的日志-->
<appender name="RollingFileAppender_INFO" type="log4net.Appender.RollingFileAppender">
<file value="./Log/INFO." />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<datePattern value="yyyyMMdd" />
<Encoding value="UTF-8" />
<param name="maximumFileSize" value="80MB" />
<maxSizeRollBackups value="" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="[%d] - %m%n" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="INFO" />
<param name="LevelMax" value="INFO" />
</filter>
</appender> <!--记录WARN方法的日志-->
<appender name="RollingFileAppender_WARN" type="log4net.Appender.RollingFileAppender">
<file value="./Log/WARN." />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<datePattern value="yyyyMMdd" />
<Encoding value="UTF-8" />
<param name="maximumFileSize" value="80MB" />
<maxSizeRollBackups value="" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="[%d] - %m%n" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="WARN" />
<param name="LevelMax" value="WARN" />
</filter>
</appender>
</log4net>
</configuration>
ILog log = LogManager.GetLogger("Logging");
log.Info("测试1");
log.Warn("测试2");
Console.ReadKey();
七、log4j.appender.appender1.layout.ConversionPattern=日志输出格式
- 例如,%d - %m%n或%d{yyyy-MM-dd HH:mm:ss} %p [%c] %m%n
- %c 输出日志信息所属的类的全名
- %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy-M-dd HH:mm:ss },输出类似:2002-10-18- 22:10:28
- %f 输出日志信息所属的类的类名
- %l 输出日志事件的发生位置,即输出日志信息的语句处于它所在的类的第几行
- %m 输出代码中指定的信息,如log(message)中的message
- %n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”
- %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL。如果是调用debug()输出的,则为DEBUG,依此类推
- %r 输出自应用启动到输出该日志信息所耗费的毫秒数
- %t 输出产生该日志事件的线程名
参考文档:
http://www.cnblogs.com/alipayhutu/archive/2012/06/21/2558249.html
http://www.cnblogs.com/zhangchenliang/p/4546352.html
等
(24)C#log4net配置和使用的更多相关文章
- Log4Net 配置日志按日期和日志级别分类写入
配置效果图: 配置代码: <?xml version="1.0" encoding="utf-8" ?> <log4net> <! ...
- Common.Logging log4net Common.Logging.Log4Net 配置
1.log4net 单独配置 log4net支持多种格式的日志输出,我这里只配置输出到本地的txt文件这种格式. <log4net> <root> <appender-r ...
- Log4Net 配置StmpAppender
目录 Log4Net 配置StmpAppender 1 1.前言 1 2.详细配置 1 1.StmpAppender配置 1 2.Root 配置 2 3.更多选项 ...
- C# Log4Net配置
Log4Net是用来记录日志的,可以将程序运行过程中的信息输出到一些地方(文件.数据库.EventLog等),日志就是程序的黑匣子,可以通过日志查看系统的运行过程,从而发现系统的问题.日志的作用:将运 ...
- Log4net配置与使用简要说明
log4net详细配置:http://logging.apache.org/log4net/本文描述如有错误,以官网的说明为准;p 一:先来看看log4net中的几个概念: 1. log4net继承机 ...
- MVC Log4Net 配置
1.引用log4net.dll 2.在项目根目录下增加log4.config文件 <?xml version="1.0"?> <configuration> ...
- ASP.NET MVC学习之Log4Net配置(日志记录)
Log4Net配置笔记---- 首先,添加对log4net.dll的引用. 在Web.config文件下的Configuration节点下添加Log4Net的配置信息: <!--Log4Net配 ...
- C# 日志系统 log4net 配置及使用
1.引用Dll 版本是:1.2.10.0,下载Dll 2.Web.config文件配置 <?xml version="1.0" encoding="utf-8&qu ...
- JWT+Log4net配置与使用
Log4net的优点 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介.程序运行过 ...
随机推荐
- 腾讯QQ空间穿越时光轴3D特效
<DOCTYPE html> <html> <head> <title>腾讯QQ空间穿越光轴3D特效</title> <style&g ...
- asp.net 常用几种下载方式
protected void Button1_Click(object sender, EventArgs e) { /* 微软为Response对象提供了一个新的方法TransmitFile来解决使 ...
- 【java下午茶系列】java三重奏之封装
java中的封装.继承.多态可谓是踏入这一行业的必经之槛,诸多新人在不明就里的情况下将其各种概念背的是滚瓜烂熟.即便是工作多年之后,也不见得能说出个所以然,或许冥冥之中已经写过无数封装的代码,只是 ...
- pytest 运行指定用例
pytest运行指定用例 随着软件功能的增加,模块越来越多,也意味用例越来越多,为了节约执行时间,快速得到测试报告与结果,在工作中可以通过运行指定用例,达到快速执行用例 例子目录 spec_sub1_ ...
- python-压缩解压
压缩解压包 #导入模块 import zipfile #新建压缩包并将db与ooo.xml压缩到文件中 z = zipfile.ZipFile('laxi.zip','w') z.write('db' ...
- ironic state information
参考: http://blog.csdn.net/zhonglinzhang/article/details/74202562 http://blog.csdn.net/wanghuiict/arti ...
- 剑指offer:二维数组中的查找
目录 题目 解题思路 具体代码 题目 题目链接 剑指offer:二维数组中的查找 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺 ...
- POJ 3264 Balanced Lineup | st表
题意: 求区间max-min st表模板 #include<cstdio> #include<algorithm> #include<cstring> #inclu ...
- 使用C#创建windows服务程序
创建windows服务项目 一.创建服务 1.文件->新建->项目->windows桌面->windows服务,修改你要的项目名称.我这不改名,仍叫WindowsService ...
- 刷题总结——Throw nails(hdu4393)
题目: Problem Description The annual school bicycle contest started. ZL is a student in this school. H ...