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个, ...
随机推荐
- sql 事务处理
事务定义: 事务是单个的工作单元.如果某一事务成功,则在该事务中进行的所有数据更改均会 提交,成为数据库中的永久组成部分.如果事务遇到错误且必须取消或回滚,则所有 数据更改均被清除. 事务三种运行模式 ...
- 在Linux使用mingw32来编写win32程序
MinGW - Minimalist GNU For Windows Mingw32 是 GNU 計畫工具的集合,包含了大量的標頭檔(header files).函式庫與指 令程式.目的在提供免費的工 ...
- OpenVPN中的几个和连接相关的Timer解析
在OpenVPN中存在几个计时器,这些计时器限制着OpenVPN的一些特定行为的最长持续时间,如果设置不好,就会带来莫名其妙的断线问题,然而如何设置这些计数器也没有一个通用的方案,特定情况下不能太大也 ...
- Helpers\TableBuilder
Helpers\TableBuilder Table builder helper is a class that would help you to create tables in MySQL ( ...
- Debian安装Apache2+MySQL5+PHP5(zz)
转载:http://hi.baidu.com/lostdays/item/1d5e7e4833b4d20fc116134b 终于在Debian用apt-get安装好LAMP了,之前在CentOS使用编 ...
- 如何优雅的实现界面跳转 之 统跳协议 - DarwinNativeRouter
PS 感谢大家的关注,由于我本想开源4个库,除了router, 另外三个分别是native dispatcher, web dispatcher 和 react dispatcher , 所以rout ...
- eclipse中自动生成javadoc文档
使用eclipse生成文档(javadoc)主要有三种方法: 1,在项目列表中按右键,选择Export(导出),然后在Export(导出)对话框中选择java下的javadoc,提交到下一步. 在 ...
- set_ip_pool
#! /usr/bin/env python# -*- coding: utf-8 -*- import redisimport urllib2class RedisConnect: #clas ...
- 【Irrlicht鬼火引擎】 安装配置Irrlicht鬼火引擎
一.下载引擎 官方网站:http://irrlicht.sourceforge.net/ 官方网站需要FQ才能进入,如果不想FQ,可以通过其他下载地址:CSDN下载:http://download. ...
- 关于TreeSet倒序排列和自定义排列
本文部分转自:http://blog.csdn.net/kaituozhe345/article/details/6842945 1.TreeSet的自然排序. TreeSet存储对象的时候, 可以排 ...