Log4Net快速配置
1、 Log4NET的概念:
a) 级别:trace、debug、info、warn、error、fatal。常用debug(调试信息,程序员临时跟踪执行,在正式运行的项目中应该不显示);warn(警告);error(错误)。
b) 特殊的级别:all(全部显示);off(全部不显示);
c) appender:可以把日志输出到控制台、文件、数据库、ftp服务器,甚至可以把日志输出到邮件、短信等。不同的输出场景就是不同的appender,可以添加多个appender,可以设定不同的级别级别使用不同的appender
d) 什么是“滚动日志”?为什么要限制日志文件的大小和个数?
2、 具体用法:
a) Install-Package Log4NET
b) 在<configuration>的<configSections>节点下新增(要在头部):<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
c) 然后在<configuration>
根节点下新增:
<log4net>
<!-- OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL -->
<!-- Set root logger level to ERROR and its appenders -->
<!--哪些信息会被记录到日志中-->
<root>
<!--当前及大于都不被记录-->
<level value="DEBUG" />
<!--日志记录到哪-->
<appender-ref ref="RollingFileTracer" />
</root>
<!-- Print only messages of level DEBUG or above in the packages -->
<!--滚动日志RollingFileAppender-->
<appender name="RollingFileTracer" type="log4net.Appender.RollingFileAppender,log4net">
<!--文件路径-->
<param name="File" value="App_Data/Log/" />
<!--追加到文件吗-->
<param name="AppendToFile" value="true" />
<!--根据什么滚动-->
<param name="RollingStyle" value="Date" />
<!--最多多少个文件-->
<param name="MaxSizeRollBackups" value="10" />
<!--单个文件大小-->
<param name="MaximumFileSize" value="1MB" />
<!--生成日志文件名格式-->
<param name="DatePattern" value=""Logs_"yyyyMMdd".txt"" />
<param name="StaticLogFileName" value="false" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
</layout>
</appender>
</log4net>
d) App_Data下(如果是控制台项目是生成到bin\Debug下)的文件无法被浏览者下载,不希望访问者下载的文件放到这里。
e) 在程序启动的时候:log4net.Config.XmlConfigurator.Configure();。容易忘,如果发现日志文件一直没有,先想是不是忘了写这句话。
f) 记录信息:ILog logger = LogManager.GetLogger(typeof(WebForm1)); logger.Debug("aaaaaaaaaaaaaa"); logger.Error("aaaaaaaaaaaaaa"); 注意不是LoggerManager、不是ILogger
g) 还可以记录异常对象,这样异常堆栈就会记录到日志中:logger.Error("aaaaaaaaaaaaaa",ex);
3、 性能优化: logger.DebugFormat(“hello {0} {}”,"hello")等。 用{n}占位符,而不是字符串拼接,这样如果配置中不输出这个级别的时候,就不会进行字符串拼接,提升性能。
非常全的Log4Net使用教程:http://blog.csdn.net/ydm19891101/article/details/50561638
Log4Net快速配置的更多相关文章
- Log4net快速配置使用指南。(快速搭建log4net日志平台手册)
每做一个新项目,都会用到log4net,但总是忘记如何快速配置.有时在网上搜半天也找不到好的模板,大都在介绍参数的使用,在此做下总结,争取下次用时仅10分钟就可搭建好log4net. 直接上介绍的步骤 ...
- Log4net快速索引参考
官方项目地址:The Apache log4net project 本文内容仅为相关项参考,不进行具体使用讨论 另转载请注明出处 Log4net快速索引参考 Log4net主要有以下三个部件: log ...
- window系统JDK1.7的快速配置
快速配置java环境变量 右键单击计算机--->属性 点击 "高级系统设置"--->"环境变量",出现环境变量设置窗口 系统变量--->新建 ...
- Linux快速配置集群ssh互信
之前在<记录一则Linux SSH的互信配置过程>.<Vertica 7.1安装最佳实践(RHEL6.4)>中,都分别提到了配置ssh互信的方法,本文在此基础上进一步整理配置s ...
- Samba快速配置
Samba是linux,unix,windows之间进行交互操作的软件组件,Sanma是基于GPL协议的自由开源软件. 快速配置samba文件服务器 1.关闭防火墙和SELinux [root@cen ...
- 阿帕奇apache服务器和webDav服务器快速配置。
当自己在家敲代码需要发请求时,就可以配置本地apache,Mac电脑自带的服务器.这个比windows上的本地服务器还要好用,下面写下最快速配置方案. 0.在开始之前需要给自己的电脑设置下开机密码,想 ...
- LOG4NET日志配置及使用
Log4net的安装 Install-Package log4net 1.先弄个日志记录的类 /// <summary> /// 使用LOG4NET记录日志的功能,在WEB.CONFIG里 ...
- log4net的配置与使用
log4net解决的问题是在.Net下提供一个记录日志的框架,它提供了向多种目标写入的实现,比如利用log4net可以方便地将日志信息记录到文件.控制台.Windows事件日志和数据库(包括MS SQ ...
- 将Log4net的配置配置到的独立文件中
本文转载:http://blog.csdn.net/wanzhuan2010/article/details/7587780 另外一篇博客:http://grim1980.blog.sohu.com/ ...
随机推荐
- 最简单的一致性Hash算法实现
import java.util.Collection;import java.util.SortedMap;import java.util.TreeMap; public class Consis ...
- Qt5—嵌入停靠窗口QDockWidget
参考链接:http://blog.csdn.net/summer_xiyer/article/details/12875899 新建一个GUI工程: QDockWidget是QWidget的子类,也等 ...
- ES: 机器学习、专家系统、控制系统的数学映射
一.基本定义 1.机器学习维基定义:机器学习有下面几种定义: "机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能". & ...
- centos7编译安装mysql5.6
先安装如下依赖包: $ yum -y install make gcc-c++ cmake bison-devel ncurses-devel 下载MySQL5.6.14安装包,https://pa ...
- WEBGL学习【六】动起来的三棱锥和立方体
<html lang="zh-CN"> <!--服务器运行地址:http://127.0.0.1:8080/webgl/LearnNeHeWebGL/NeHeWe ...
- mysql数据库增量恢复
mysqldump -uroot -p -B discuzx -F -x --master-data=2 --events|gzip >/root/discuzx.sql.gz 写入数据 删除数 ...
- OOP 面向对象 七大原则 (一)
OOP 面向对象 七大原则 (一) 大家众所周知,面向对象有三大特征继承封装多态的同时,还具有这七大原则,三大特征上一篇已经详细说明,这一篇就为大家详解一下七大原则: 单一职责原则,开闭原则,里氏 ...
- <url-pattern>/</url-pattern> 拦截请求
一.springmvc 前端控制器 <!-- springmvc的前端控制器 --> <servlet> <servlet-name>fw-sso-web</ ...
- 获取DATA的数据
num=DataTable("参数名",dtGlobalSheet) 'systemutil.Run "C:\Program Files (x86)\HP\QuickTe ...
- HDU2147 kiki's game
/* HDU2147 kiki's game 博弈论 巴什博奕 http://acm.hdu.edu.cn/showproblem.php?pid=2147 题意:在一个n×m的棋盘上,初始棋子放在右 ...