log4net 快速上手使用
*本随笔仅限快速上手,如需深入探究,可查阅其它博友。
一、下载log4net.dll并添加引用;
二、添加配置文件 log4net.xml ;
- <?xml version="1.0" encoding="utf-8" ?>
- <configuration>
- <configSections>
- <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
- </configSections>
- <log4net>
- <root>
- <level value="ALL" />
- </root>
- <!--记录所有的错误日志-->
- <logger name="ErrorLog">
- <level value="INFO" />
- <appender-ref ref="ErrorLog" />
- </logger>
- <appender name="ErrorLog" type="log4net.Appender.RollingFileAppender,log4net" >
- <param name="File" value="Logs/Error/" />
- <param name="AppendToFile" value="true" />
- <param name="RollingStyle" value="Date" />
- <param name="DatePattern" value=""Log-"yyyy-MM-dd".txt"" />
- <param name="StaticLogFileName" value="false" />
- <layout type="log4net.Layout.PatternLayout,log4net">
- <param name="ConversionPattern" value="%d{yyy-MM-dd HH:mm} %m%n" />
- <!--LogTime:%d-->
- </layout>
- </appender>
- <logger name="MessageLog">
- <level value="INFO" />
- <appender-ref ref="MessageLog" />
- </logger>
- <appender name="MessageLog" type="log4net.Appender.RollingFileAppender,log4net" >
- <param name="File" value="Logs/Message/" />
- <param name="AppendToFile" value="true" />
- <param name="RollingStyle" value="Date" />
- <param name="DatePattern" value=""Log-"yyyy-MM-dd".txt"" />
- <param name="StaticLogFileName" value="false" />
- <layout type="log4net.Layout.PatternLayout,log4net">
- <param name="ConversionPattern" value="%d %m%n" />
- </layout>
- </appender>
- </log4net>
- </configuration>
xml 有不明白的地方,请查阅相关资料,以上配置后产生的结果如下图
三、在项目的启动文件Main方法(web项目在global文件下的Application_Start)下添加
log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "log4net.xml")));
或者
log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(Server.MapPath("log4net.xml")));
四、使用:
ILog log_messgae = LogManager.GetLogger(SystemLog.MessageLog.ToString());//对应xml配置节点<logger name="MessageLog">
ILog log_error = LogManager.GetLogger(SystemLog.ErrorLog.ToString());//对应xml配置节点 <logger name="ErrorLog">
log_error.Info(string.Format("{0}【获取名称】为空", str_temp));
log_messgae.Info(string.Format("{0}【分页数】为:{1}", url, count_page));
**************基本应用完成******************
log4net 快速上手使用的更多相关文章
- log4net快速上手
原文地址:https://www.cnblogs.com/lsgsanxiao/p/5845300.html 略有删改 1.配置文件,可以单独创建log4net.config文件,然后手动指定目录,也 ...
- 【Python五篇慢慢弹】快速上手学python
快速上手学python 作者:白宁超 2016年10月4日19:59:39 摘要:python语言俨然不算新技术,七八年前甚至更早已有很多人研习,只是没有现在流行罢了.之所以当下如此盛行,我想肯定是多 ...
- 快速上手Unity原生Json库
现在新版的Unity(印象中是从5.3开始)已经提供了原生的Json库,以前一直使用LitJson,研究了一下Unity用的JsonUtility工具类的使用,发现使用还挺方便的,所以打算把项目中的J ...
- Log4net快速索引参考
官方项目地址:The Apache log4net project 本文内容仅为相关项参考,不进行具体使用讨论 另转载请注明出处 Log4net快速索引参考 Log4net主要有以下三个部件: log ...
- [译]:Xamarin.Android开发入门——Hello,Android Multiscreen快速上手
原文链接:Hello, Android Multiscreen Quickstart. 译文链接:Hello,Android Multiscreen快速上手 本部分介绍利用Xamarin.Androi ...
- [译]:Xamarin.Android开发入门——Hello,Android快速上手
返回索引目录 原文链接:Hello, Android_Quickstart. 译文链接:Xamarin.Android开发入门--Hello,Android快速上手 本部分介绍利用Xamarin开发A ...
- 快速上手seajs——简单易用Seajs
快速上手seajs——简单易用Seajs 原文 http://www.cnblogs.com/xjchenhao/p/4021775.html 主题 SeaJS 简易手册 http://yslo ...
- Git版本控制Windows版快速上手
说到版本控制,之前用过VSS,SVN,Git接触不久,感觉用着还行.写篇博文给大家分享一下使用Git的小经验,让大家对Git快速上手. 说白了Git就是一个控制版本的工具,其实没想象中的那么复杂,咱在 ...
- Objective-C快速上手
最近在开发iOS程序,这篇博文的内容是刚学习Objective-C时做的笔记,力图达到用最短的时间了解OC并使用OC.Objective-C是OS X 和 iOS平台上面的主要编程语言,它是C语言的超 ...
随机推荐
- 文件上传插件Uploadify在Struts2中的应用,完整详细实例
—>最近由于项目需要使用到一个上传插件,在网上发现uploadify挺不错,所以决定使用它,但是官网文档和例子是php的,而项目是SSI框架的,所以自己对uploadify在struts2中的使 ...
- [Angular 2] Async Http
Async Pipe: The Asynce pipe receive a Promise or Observable as input and subscribes to the input, e ...
- Oracle11g主要服务程序
Oracle Orcl VSS Writer Service:Oracle对 VSS(卷影)的支持服务.Oracle卷映射拷贝写入服务VSS(Volume Shadow Copy Service)能够 ...
- 填坑 - 使用Entity Framework 6 + Sqlite进行DB first开发
Sqlite团队也是渣啊,到第6代了还不支持Code First. 1.安装运行环境和组件 .安装SQLite的Visual Studio设计器支持 只有安装了它,在[新建ADO.NET实体数据模型] ...
- java 线程池的用法
1.java自带的类ExecutorService用于提供线程池服务,可以一下方法初始化线程池: ExecutorService pool = Executors.newFixedThreadPool ...
- Xcode使用xib拖线时出现: could not insert new outlet connection
解决方法: 1.在新建类的时候没有选择将这个类加入到对应的"Target"中. 2.重新将文件加入项目 操作步骤就是选中出问题的.m和.h文件,点删除键,然后选"Remo ...
- C/C++中虚函数的调用
代码: #include <iostream> using namespace std; class A{ public: virtual void print(){ cout<&l ...
- ZOJ3551 Bloodsucker(概率dp)
转载请注明出处: http://www.cnblogs.com/fraud/ ——by fraud Bloodsucker Time Limit: 2 Seconds Me ...
- jQuery select 操作全集
添加option $('#id').append("<option value="value">Text</option>");//为s ...
- C语言初学 俩数相除问题
#include<stdio.h> #include<stdlib.h> main() { double a,b; scanf(&q ...