LOG4NET日志配置及使用
一、log4net按照不同的【LEVEL】级别输出到不同文件
- <log4net>
- <!--错误日志:::记录错误日志-->
- <!--按日期分割日志文件 一天一个-->
- <!-- appender 定义日志输出方式 将日志以回滚文件的形式写到文件中。-->
- <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
- <!--保存路径:下面路径项目启动的时候自动在C盘中创建log、logError文件-->
- <file value="C:\\log\\LogError\\"/>
- <!-- 如果想在本项目中添加路径,那就直接去掉C:\\ 只设置log\\LogError 项目启动中默认创建文件 -->
- <appendToFile value="true"/>
- <!--按照何种方式产生多个日志文件(日期[Date],文件大小[Size],混合[Composite])-->
- <rollingStyle value="Date"/>
- <!--这是按日期产生文件夹-->
- <datePattern value="yyyy\\yyyyMM\\yyyyMMdd'.txt'"/>
- <!--是否只写到一个文件中-->
- <staticLogFileName value="false"/>
- <!--保留的log文件数量 超过此数量后 自动删除之前的 好像只有在 按Size分割时有效 设定值value="-1"为不限文件数-->
- <param name="MaxSizeRollBackups" value="100"/>
- <!--每个文件的大小。只在混合方式与文件大小方式下使用。超出大小后在所有文件名后自动增加正整数重新命名,数字最大的最早写入。可用的单位:KB|MB|GB。不要使用小数,否则会一直写入当前日志-->
- <maximumFileSize value="1GB" />
- <!-- layout 控制Appender的输出格式,也可以是xml 一个Appender只能是一个layout-->
- <layout type="log4net.Layout.PatternLayout">
- <!--每条日志末尾的文字说明-->
- <!--输出格式 模板-->
- <!-- <param name="ConversionPattern" value="记录时间:%date 线程ID:[%thread] 日志级别:%-5level 记录类:%logger
- 操作者ID:%property{Operator} 操作类型:%property{Action}%n 当前机器名:%property%n当前机器名及登录用户:%username %n
- 记录位置:%location%n 消息描述:%property{Message}%n 异常:%exception%n 消息:%message%newline%n%n" />-->
- <!--样例:2008-03-26 13:42:32,111 [10] INFO Log4NetDemo.MainClass [(null)] - info-->
- <!--<conversionPattern value="%newline %n记录时间:%date %n线程ID:[%thread] %n日志级别: %-5level %n错误描述:%message%newline %n"/>-->
- <conversionPattern value="%n==========
- %n【日志级别】%-5level
- %n【记录时间】%date
- %n【线程编号】[%thread]
- %n【执行时间】[%r]毫秒
- %n【出错文件】%F
- %n【出错行号】%L
- %n【出错的类】%logger 属性[%property{NDC}]
- %n【错误描述】%message
- %n【错误详情】%newline"/>
- </layout>
- </appender>
- <!--Error日志::: 错误日志-->
- <logger name="logerror">
- <level value="ERROR" />
- <appender-ref ref="ErrorAppender" />
- </logger>
- </log4net>
最后别忘了Application_Start() log4net.Config.XmlConfigurator.Configure();
- private static readonly log4net.ILog log =
- log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().ReflectedType);
Log4net的安装
Install-Package log4net
1.先弄个日志记录的类
- /// <summary>
- /// 使用LOG4NET记录日志的功能,在WEB.CONFIG里要配置相应的节点
- /// </summary>
- public class LogHelper
- {
- //log4net日志专用
- public static readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo");
- public static readonly log4net.ILog logerror = log4net.LogManager.GetLogger("logerror");
- public static void SetConfig()
- {
- log4net.Config.XmlConfigurator.Configure();
- }
- public static void SetConfig(FileInfo configFile)
- {
- log4net.Config.XmlConfigurator.Configure(configFile);
- }
- /// <summary>
- /// 普通的文件记录日志
- /// </summary>
- /// <param name="info"></param>
- public static void WriteLog(string info)
- {
- if (loginfo.IsInfoEnabled)
- {
- loginfo.Info(info);
- }
- }
- /// <summary>
- /// 错误日志
- /// </summary>
- /// <param name="info"></param>
- /// <param name="se"></param>
- public static void WriteLog(string info, Exception se)
- {
- if (logerror.IsErrorEnabled)
- {
- logerror.Error(info, se);
- }
- }
}
在 configSections 节点上添加:
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
然后配置单独的节点:
- <!--日志-->
- <log4net>
- <logger name="logerror">
- <level value="ERROR" />
- <appender-ref ref="ErrorAppender" />
- </logger>
- <logger name="loginfo">
- <level value="INFO" />
- <appender-ref ref="InfoAppender" />
- </logger>
- <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
- <param name="File" value="E:\xxx.com\xx.xxx.com\App_Log\Error\ErrorLog.log" />
- <param name="AppendToFile" value="true" />
- <param name="MaxSizeRollBackups" value="" />
- <param name="MaximumFileSize" value="1MB" />
- <param name="RollingStyle" value="Size" />
- <param name="StaticLogFileName" value="true" />
- <layout type="log4net.Layout.PatternLayout">
- <param name="ConversionPattern" value="%-5p %d [%c] %m%n" />
- </layout>
- </appender>
- <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
- <param name="File" value="E:\xxx.com\xxx.xxx.com\App_Log\Info\InfoLog.log" />
- <param name="AppendToFile" value="true" />
- <param name="MaxSizeRollBackups" value="" />
- <param name="MaximumFileSize" value="1MB" />
- <param name="RollingStyle" value="Size" />
- <param name="StaticLogFileName" value="true" />
- <layout type="log4net.Layout.PatternLayout">
- <param name="ConversionPattern" value="%-5p %d [%c] %m%n" />
- </layout>
- </appender>
- </log4net>
3.在GOLBAL文件里调用写日志:
- void Application_Start(object sender, EventArgs e)
- {
- //在应用程序启动时运行的代码
- //初始日志的配置
- LogHelper.SetConfig();
- }
- void Application_Error(object sender, EventArgs e)
- {
- //在出现未处理的错误时运行的代码
- Exception objExp = HttpContext.Current.Server.GetLastError();
- string username = "";
- string userid = "";
- if (Session["ulogin"] != null)
- {
- string[] uinfo=Session["ulogin"].ToString().Split('|');
- userid = uinfo[];
- username = uinfo[];
- }
- Aotain114.Public.LogHelper.WriteLog("\r\n用户ID:"+userid+"\r\n用户名:"+username+"\r\n客户机IP:" + Request.UserHostAddress + "\r\n错误地址:" + Request.Url + "\r\n异常信息:" + Server.GetLastError().Message, objExp);
- }
LOG4NET日志配置及使用的更多相关文章
- Log4Net 日志配置[附带源码]
前述 园子里有许多人对log4net这款开源的日志记录控件有很多介绍.在这里个人再做一次总结,希望对以后有所帮助,需要的时候可以直接使用,减少查阅资料的时间.利用log4net可以方便地将日志信息记录 ...
- 【记录】.net 通用log4net日志配置
asp.net mvc 1.引入log4netNuGet包. 2.修改Global.asax下的Application_Start方法.加入log4net.Config.XmlConfigurator ...
- log4net 日志配置及使用
一.log4net按照不同的[LEVEL]级别输出到不同文件 <log4net> <!--错误日志:::记录错误日志--> <!--按日期分割日志文件 一天一个--> ...
- Log4Net日志配置
1.添加Log4net.dll引用 将release版Log4net.dll拷贝到Lib文件夹,然后添加引用.
- log4net日志的配置及简单应用
在程序运行中,往往会出现各种出乎开发人员意料的异常或者错误,所以,记录详细的程序运行日志信息,有利于开发人员和运维人员排查异常信息,提高工作效率.而本菜鸟在大神推荐和指导下使用log4net这一插件工 ...
- 关于log4net日志的配置流程
最近又重新整理一下log4net日志的配置,现在记录一下流程和一些遇到的问题,以备后续使用,具体的配置参数等信息.此文无,见谅! 1. 下载log4net.dll文件(网上很多,随便找一个!) 2. ...
- Log4net日志GUI配置工具
关于log4net的配置文章在园子里真的很多,但是有关GUI界面配置的文章确定太少,改写了一个以前很早的工具 以前的那个有很多的问题,这个基本的大的问题没有,可能一个小问题还是需要修改下,基本功能肯定 ...
- log4net 日志框架的配置
log4net 日志框架的配置——静态文件(一) 添加对log4net程序集的引用 选择程序集文件添加引用即可,需要注意的是需要添加相应程序版本的程序集,如果你的应用是基于.netFramework2 ...
- 日志管理-将Log4net的配置配置到的独立文件中
转自:http://www.cnblogs.com/zfanlong1314/p/3662679.html使用log4net已经很久了.但从来没有详情了解log4的参数,及具体使用方法.看了周公的博客 ...
随机推荐
- iOS开发-完整学习路线图
- 开源游戏 “Elvish Bird”
简介: 这个游戏是我在今年(2014/03)课余时闲着无聊做的一个冒险类小游戏,总共花了5个工作日才完成,为了游戏的效率,做了很多优化,目前在IE8以上浏览器能够流畅运行,运行时如果屏幕分辨率不兼容, ...
- 理解TCP三次握手/四次断开的必要性
1 TCP的三次握手与必要性 (1)三次握手图 (2)必要性:TCP通过三次握手建立可靠的(确保收到)的全双工通信. 1)第一次握手和第二次握手(ACK部分)建立了从客户端到服务器传送数据的可靠连接: ...
- 3、软件评测师要阅读的书籍 - IT软件人员书籍系列文章
软件评测师在项目组的作用也是非常大的.微软的做法是一个软件工程师搭配两个软件评测师,这样能够减少软件系统存在的问题.但是,笔者发现,软件评测在这些年的发展还是比较缓慢的,除了人力进行的测试外,就是软件 ...
- MongoDB查询重复记录并保存到文件csv
客户1w用户记录,发现里面有小部分重复数据 需要查出,比对哪些信息不同 https://docs.mongodb.org/manual/reference/operator/aggregation/# ...
- 将dll程序集添加到缓存里
1.点击开始---所有程序---...如下图 并以管理员身份运行. 2.输入命令行 gacutil.exe /i D:\Word\CRS_BPM_Sln\SourceCode\BPM\Referenc ...
- 关于 redis、memcache mongoDB 的对比
from:http://yang.u85.us/memcache_redis_mongodb.pdf 从以下几个维度,对 redis.memcache.mongoDB 做了对比.1.性能都比较高,性能 ...
- 使用数据库sqlite3 C语言实现登陆注册的功能
//此代码为注册功能 void create_regtable() { int rc; //rc为返回值,判断函数是否执行成功 rc=0函数执行成功,rc !=0函数执行失败 sqlite3 *db; ...
- .Net程序员之Python基础教程学习----判断条件与循环[Fourth Day]
今天学习Python的判断条件与循环操作. 一. 布尔变量: 在学习判断条件之前必须的了解bool变量,在Python中bool变量与C语言比较类似,与.net差别比较大,其中下面集中情况需要 ...
- RCC BUCK-BOOST变压器设计
电路处于Buck-Boost DCM模式,最恶劣情况为输入电压最低时.取频率为f 以下图为例: 1.MOS耐压选择: Vmos≥Vinmax+Vout+80 2.保证磁芯不饱和且始终工作在DCM模式 ...