log4net基本日志使用笔记[windows application]
Ref: http://www.cnblogs.com/wangsaiming/archive/2013/01/11/2856253.html
http://www.cnblogs.com/zhoufoxcn/archive/2010/11/23/2515616.html
一. log4net程序集下载
下载地址:http://logging.apache.org/log4net/download_log4net.cgi
(选择具体版本,最新版为1.2.15 log4net-1.2.15-bin-newkey.zip)
将对应dll添加到项目引用中。
具体操作参见 http://www.cnblogs.com/wangsaiming/archive/2013/01/11/2856253.html
二. 配置log4net
如果还没有添加应用程序配置文件,则项目中添加app.config配置文件
配置内容及说明如下:
<?xml version="1.0"?>
<configuration>
<configSections>
<!--type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"-->
<section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>
</configSections> <appSettings>
<!-- ...............-->
</appSettings> <!--Log4net 日志配置-->
<log4net>
<!--运行日志输出到文件中(回滚记录多文件中)-->
<appender name="LogFileAppender1" type="log4net.Appender.RollingFileAppender">
<!--定义文件存放位置,默认与程序同目录里-->
<file value="logs\\"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value="'Log1'_yyyyMMdd'.log'"/>
<staticLogFileName value="false"/>
<!--一个时间保留日志的数量-->
<param name="MaxSizeRollBackups" value="10"/>
<param name="maximumFileSize" value="10MB"/>
<layout type="log4net.Layout.PatternLayout">
<!--每条日志末尾的文字说明-->
<!--输出格式-->
<!--样例:2016-01-01 13:42:32 ,222 [filename;line] INFO Log4NetDemo.MainClass [(null)] - info-->
<!--conversionPattern value="%date [%file:%line] [%-5level] %logger[%property{NDC}] - %message%newline "-->
<conversionPattern value="%date{yyyy-MM-dd HH:mm:ss,fff} [%file:%line] [%-5level] - %message%newline "/>
</layout>
<!--记录INFO-FATAL级别信息-->
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="INFO" />
<levelMax value="FATAL" />
</filter>
</appender> <!--统计日志输出到文件中-->
<appender name="LogFileAppender2" type="log4net.Appender.RollingFileAppender">
<!--定义文件存放位置-->
<file value="logs\\"/>
<appendToFile value="true"/>
<lockingModel value="log4net.Appender.FileAppemder.MinimalLock"/> <!--多个线程访问时最小锁实现-->
<rollingStyle value="Date"/>
<datePattern value="'Log2'_yyyyMMdd'.log'"/>
<staticLogFileName value="false"/>
<!--一个时间保留日志的数量-->
<param name="MaxSizeRollBackups" value="10"/>
<param name="maximumFileSize" value="10MB"/>
<layout type="log4net.Layout.PatternLayout">
<!--每条日志末尾的文字说明-->
<!--输出格式-->
<!--样例:2016-01-01 13:42:32 [filename;line] INFO Log4NetDemo.MainClass [(null)] - info-->
<conversionPattern value="%newline %date [%file:%line] [%-5level] %logger[%property{NDC}] - %message"/>
</layout>
<!--记录INFO-FATAL级别信息-->
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="INFO" />
<levelMax value="FATAL" />
</filter>
</appender>
<!-- 默认采用root的话,则所有logger会同时写到对应文件中
<root>
<level value="ALL"/>
<appender-ref ref="LogFileAppender1"/>
<appender-ref ref="LogFileAppender2"/>
</root>
-->
<logger name="Log1">
<level value="ALL"/>
<appender-ref ref="LogFileAppender1"/>
</logger> <logger name="Log2">
<level value="ALL"/>
<appender-ref ref="LogFileAppender2"/>
</logger> </log4net>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>
Level级别:DEBUG <INFO<WARN<ERROR<FATAL
有关级别说明参考 http://blog.csdn.net/milk1626/article/details/5761738
有关写到文件还是数据库等及相关参数说明参考 http://www.cnblogs.com/zhoufoxcn/archive/2010/11/23/2515616.html
三. 实际使用
注意: 在AssemblyInfo.cs文件中加入[assembly: log4net.Config.XmlConfigurator(Watch = true)] 解析相关配置文件class LoggerHelper
{
//如果只是用root做默认处理的话,可以使用如下logger
//private static ILog Logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
//log1 写入对应文件
private static ILog Logger1 = log4net.LogManager.GetLogger("Log1");
//log2 写入对应文件
private static ILog Logger2 = log4net.LogManager.GetLogger("Log2");
public static void Log1Info(string message)
{
Logger1.Info(message);
}
public static void Log2Info(string message)
{
Logger2.Info(message);
}
}
在其他程序中要写日志到哪个文件中可以调用相应函数
log4net基本日志使用笔记[windows application]的更多相关文章
- Quartz任务调度 服务日志+log4net打印日志+制作windows服务
引言 现在许多的项目都需要定时的服务进行支撑,而我们经常用到的定时服务就是Quartz任务调度了.不过我们在使用定时Job进行获取的时候,有时候我们就需要记录一下自定义的日志,甚至我们还会对执行定时J ...
- 【5】基于Log4Net的日志系统
阅读目录 日志系统应具备的特性 Log4Net 配置文件:log4net.config 初始化 输出信息 对Log4Net的封装 log4net.config复杂配置 不管是Web应用程序还是W ...
- c#.NET中日志信息写入Windows日志中解决方案
1. 目的应用系统的开发和维护离不开日志系统,选择一个功能强大的日志系统解决方案是应用系统开发过程中很重要的一部分.在.net环境下的日志系统解决方案有许多种,log4net是其中的佼佼者.在Wind ...
- sqlservr (708) 打开日志文件 C:\Windows\system32\LogFiles\Sum\Api.log 时出现错误 -1032 (0xfffffbf8)
在windows server 2012 standard上新安装好的SQL Server 2014,查看错误日志,发现此报错 sqlservr (708) 打开日志文件 C:\Windows\sys ...
- Log4net创建日志及简单扩展
转:http://blog.csdn.net/CHENFEIYANG2009/article/details/5397342 1.概述 log4net是.Net下一个非常优秀的开源日志记录组件.log ...
- Self-Host c#学习笔记之Application.DoEvents应用 不用IIS也能執行ASP.NET Web API
Self-Host 寄宿Web API 不一定需要IIS 的支持,我们可以采用Self Host 的方式使用任意类型的应用程序(控制台.Windows Forms 应用.WPF 应用甚至是Wind ...
- 【转】使用Log4Net进行日志记录
首先说说为什么要进行日志记录.在一个完整的程序系统里面,日志系统是一个非常重要的功能组成部分.它可以记录下系统所产生的所有行为,并按照某种规范表达出来.我们可以使用日志系统所记录的信息为系统进行排错, ...
- 使用Log4net创建日志及简单扩展
如何使用Log4net创建日志及简单扩展 1.概述 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的 ...
- log4net将日志写入ElasticSearch
log4net将日志写入ElasticSearch https://www.cnblogs.com/huangxincheng/p/9120028.html 很多小步快跑的公司,开发人员多则3-4个, ...
随机推荐
- 如何在Ubuntu 13.04中升级到 GNOME 3.8
如何在Ubuntu 13.04中升级到 GNOME 3.8 添加 GNOME 3 PPA(Personal Package Archives) 在你进一步浏览之前,确认你正在运行的是Ubuntu 13 ...
- show engine innodb status解读
xiaoboluo768 注:以下内容为根据<高性能mysql第三版>和<mysql技术内幕innodb存储引擎>的innodb status部分的个人理解,如果有错误,还 ...
- Tao 1.2.0图形框架发布
Tao 1.2.0图形框架发布 Tao图形框架是方便在Mono和.Net环境下进行游戏相关开发的库绑定和实用工具集.目前,对以下库提供支持: Cg - [Cg website] Dev ...
- spring4.x注解概述
1. 背景 注解可以减少代码的开发量,spring提供了丰富的注解功能,因项目中用到不少注解,因此下定决心,经spring4.x中涉及到的注解罗列出来,供查询使用. 2. spring注解图 ...
- iOS实现自定义的弹出视图(popView)
前段时间,在项目中有个需求是支付完成后,弹出红包,实现这么一个发红包的功能.做了最后,实现的效果大致如下: 一.使用方法 整个ViewController的代码大致如下 // // SecondVi ...
- 用CCRenderTexture和BlendFunc制作游戏教学时使用的黑色覆盖层
游戏快要完成了,准备做教学. 我们的教学是在整个界面上盖一层灰色图片,然后把提示点击的按钮部分亮出来,也就是在一块黑色图片上,按需求扣空一小部分.如图,把武器部分扣空,那么在其它地方又会扣空其它部分, ...
- Windows Azure 微软公有云体验(三) IIS中文编码解决方案
Windows Azure 微软公有云已经登陆中国有一段时间了,现在是处于试用阶段,Windows Azure的使用将会给管理信息系统的开发.运行.维护带来什么样的新体验呢? Windows Azur ...
- 关于linux-Centos 7下mysql 5.7.9的rpm包的安装方式 (转)
操作系统:Centos 7.1 mysql数据库版本:mysql5.7.9 mysql官方网站:http://www.mysql.com ------------------------------- ...
- python(4)-迭代器 和 生成器
迭代器是访问集合元素的一种方式.迭代器适合遍历一些巨大或无限的集合,比如几个G的文件.迭代器具有以下特点: 1. 访问者不需要关心迭代器内部的结构,只需通过__next__()方法不断取下一个内容 2 ...
- XML XmlDocument
1.SelectSingleNode(xPath) xPxth:xml/cam/type 一层一层递进