Ref: http://www.cnblogs.com/wangsaiming/archive/2013/01/11/2856253.html

http://www.cnblogs.com/zhoufoxcn/archive/2010/11/23/2515616.html

http://wenku.baidu.com/link?url=AmPE0F0jj5NgwFiAICdCF_xcUZ8W1KhDwGudlEmYrOUZ3oNGnEN0qAlNU-N5etgiirjz9X6mO56RBQt7fVScWXLujQRvfrOJ7jXsw4knpWS

一. 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]的更多相关文章

  1. Quartz任务调度 服务日志+log4net打印日志+制作windows服务

    引言 现在许多的项目都需要定时的服务进行支撑,而我们经常用到的定时服务就是Quartz任务调度了.不过我们在使用定时Job进行获取的时候,有时候我们就需要记录一下自定义的日志,甚至我们还会对执行定时J ...

  2. 【5】基于Log4Net的日志系统

    阅读目录 日志系统应具备的特性  Log4Net 配置文件:log4net.config 初始化 输出信息 对Log4Net的封装 log4net.config复杂配置   不管是Web应用程序还是W ...

  3. c#.NET中日志信息写入Windows日志中解决方案

    1. 目的应用系统的开发和维护离不开日志系统,选择一个功能强大的日志系统解决方案是应用系统开发过程中很重要的一部分.在.net环境下的日志系统解决方案有许多种,log4net是其中的佼佼者.在Wind ...

  4. sqlservr (708) 打开日志文件 C:\Windows\system32\LogFiles\Sum\Api.log 时出现错误 -1032 (0xfffffbf8)

    在windows server 2012 standard上新安装好的SQL Server 2014,查看错误日志,发现此报错 sqlservr (708) 打开日志文件 C:\Windows\sys ...

  5. Log4net创建日志及简单扩展

    转:http://blog.csdn.net/CHENFEIYANG2009/article/details/5397342 1.概述 log4net是.Net下一个非常优秀的开源日志记录组件.log ...

  6. Self-Host c#学习笔记之Application.DoEvents应用 不用IIS也能執行ASP.NET Web API

    Self-Host   寄宿Web API 不一定需要IIS 的支持,我们可以采用Self Host 的方式使用任意类型的应用程序(控制台.Windows Forms 应用.WPF 应用甚至是Wind ...

  7. 【转】使用Log4Net进行日志记录

    首先说说为什么要进行日志记录.在一个完整的程序系统里面,日志系统是一个非常重要的功能组成部分.它可以记录下系统所产生的所有行为,并按照某种规范表达出来.我们可以使用日志系统所记录的信息为系统进行排错, ...

  8. 使用Log4net创建日志及简单扩展

    如何使用Log4net创建日志及简单扩展 1.概述 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的 ...

  9. log4net将日志写入ElasticSearch

    log4net将日志写入ElasticSearch https://www.cnblogs.com/huangxincheng/p/9120028.html 很多小步快跑的公司,开发人员多则3-4个, ...

随机推荐

  1. C#的空接合运算符 三目运算符

    1.空接合运算符:操作数1??操作数2: 2.第一个操作数必须是一个可空类型或引用类型,第二个操作数必须与第一个操作数类型相同,或者可以隐含的转换为第一个操作数的类型: 3.如果第一个操作数不为nul ...

  2. VS2010打开就自动关闭问题解决

    前段时间开发没有使用VSS,打开项目一直正常,后来嵌入到VSS后出现了VS2010打开后就自动关闭的问题. 刚开始我重新卸载.安装了VS2010,但是还是有问题,后来重新创建了空解决方案,再次引入就正 ...

  3. win7关机命令

    通过 DOS 命令 “shutdown” 来实现 Windows7 系统下的定时关机功能. 使用at 命令 at 12:00 shutdown -s,取消:at/delete shutdown -s ...

  4. 1002 GTY's birthday gift

    GTY's birthday gift                                                                       Time Limit ...

  5. Objective-C ,ios,iphone开发基础:使用GDataXML解析XML文档,(libxml/tree.h not found 错误解决方案)

    使用GDataXML解析XML文档 在IOS平台上进行XML文档的解析有很多种方法,在SDK里面有自带的解析方法,但是大多情况下都倾向于用第三方的库,原因是解析效率更高.使用上更方便 这里主要介绍一下 ...

  6. Node.js连接Mysql

    1.安装 npm install mysql 注意要复制node_modules到当前工程的文件夹中 2.基本连接 /** * Created by Administrator on 13-12-25 ...

  7. [设计模式]<<设计模式之禅>>关于开闭原则

    开闭原则是Java世界里最基础的设计原则,它指导我们如何建立一个稳定的.灵活的系统,先来看开闭原则的定义: Software entities like classes,modules and fun ...

  8. Qt之读取配置文件

    一.读取配置文件增删功能与修改参数数据 #ifndef CONFIG_H #define CONFIG_H #define QS_FILEPATH "E:\\woo\\Code\\Qt\\A ...

  9. 减小iOS应用程序的大小

    减小iOS应用程序的大小 本文译自:Reducing the size of my App Q: 怎样才能让我的程序安装包小一点,让程序的下载和安装更快速? A: 本文收集了一些减小程序安装包大小的相 ...

  10. Linux 命令 - mv: 移动或重命名文件

    命令格式 cp [OPTION]... [-T] SOURCE DEST cp [OPTION]... SOURCE... DIRECTORY cp [OPTION]... -t DIRECTORY ...