Log4.net使用配置
开发中经常使用到日志记录功能,Log4.net可以将日志记录到文件中,也可以记录到数据库中,使用非常方便,之前也一直在用,最近也参照了一下网上的资料,想简单总结一下
本文重在通过通用日志类来使用Log4.net, 至于如何配置Log4.Net节点,网上的资料很多,这里没有提到
1.首先创建一个Log4.Net的公共操作类
/// <summary>
/// log4net日志专用
/// </summary>
public class LogHelper
{
private static readonly log4net.ILog Instance = log4net.LogManager.GetLogger("loginfo"); public static void SetConfig()
{
log4net.Config.XmlConfigurator.Configure();
} public static void SetConfig(string filePath)
{
FileInfo configFile = new FileInfo(filePath);
log4net.Config.XmlConfigurator.Configure(configFile);
} public static void SetConfig(FileInfo configFile)
{
log4net.Config.XmlConfigurator.Configure(configFile);
} /// <summary>
/// 记录普通文件记录
/// </summary>
/// <param name="info"></param>
public static void Info(string info)
{
if (Instance.IsInfoEnabled)
{
Instance.Info(info);
}
} /// <summary>
///记录调试信息
/// </summary>
/// <param name="info"></param>
/// <param name="se"></param>
public static void Debug(string info)
{
if (Instance.IsErrorEnabled)
{
Instance.Debug(info);
}
} /// <summary>
///记录警告信息
/// </summary>
/// <param name="info"></param>
/// <param name="se"></param>
public static void Warn(string info)
{
if (Instance.IsWarnEnabled)
{
Instance.Warn(info);
}
} /// <summary>
/// 记录错误日志
/// </summary>
/// <param name="info"></param>
/// <param name="se"></param>
public static void Error(string info, Exception se)
{
if (Instance.IsErrorEnabled)
{
Instance.Error(info, se);
}
} /// <summary>
/// 记录严重错误
/// </summary>
/// <param name="info"></param>
/// <param name="se"></param>
public static void Fatal(string info, Exception se)
{
if (Instance.IsFatalEnabled)
{
Instance.Fatal(info, se);
}
} }
2.注册Log4.net 的配置信息,本人喜欢后面2中方式配置,这样其他程序集(如Business程序集)需要记录日志时,不需要再配置log4.net了,直接调用日志公共类即可
(1)可以在应用程序启动时注册Log4.net配置信息(如Global.asax中),不过其他程序集如果要记录日志时,需要重新配置log4.net信息
protected void Application_Start(object sender, EventArgs e)
{
//加载日志配置文件,只需要在程序启动时加载一次
string filePath = AppDomain.CurrentDomain.BaseDirectory + "Log4net.config";
LogHelper.SetConfig(filePath);
}
(2)在日志公共类LogHelper.cs所在程序集的AssemblyInfo.cs文件中进行注册
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4net.config", Watch = true)]
(3)在日志公共类LogHelper.cs的命名空间上进行注册
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4net.config", Watch = true)]
namespace LogUtility
{
/// <summary>
/// log4net日志专用
/// </summary>
public class LogHelper
{
....
}
3. 记录日志
protected void Page_Load(object sender, EventArgs e)
{
#region 通过公共类调用 //跨程序集调用写入Log日志
Services.TestService.TestLog(); //记录一般信息
LogHelper.Info("info");
//记录调试信息
LogHelper.Debug("debug");
//记录警告信息
LogHelper.Warn("warn"); //记录错误日志
LogHelper.Error("error", new Exception("发生了一个异常"));
//记录严重错误
LogHelper.Fatal("fatal", new Exception("发生了一个致命错误")); #endregion 通过公共类调用 Response.Write("日志记录完毕。</br>"); }
4. 参考资料,参考了下面一些内容
http://blog.csdn.net/zhoufoxcn/article/details/2220533
http://blog.csdn.net/zhoufoxcn/article/details/6029021
http://www.cnblogs.com/ringwang/archive/2012/07/06/2579775.html
http://www.cnblogs.com/zfanlong1314/p/3662679.html
5.本例的代码(演示了在WinForm、WebForm上的使用配置)
(1)直接在应用启动时注册
(2)在公共日志类中注册
Log4.net使用配置的更多相关文章
- log4net截取配置错误信息,(验证配置信息是否配置正确)
在</system.web>之后 <!--log4错误日志配置:开始--> <system.diagnostics> <trace autoflush=&qu ...
- Java使用Log4记录日志
我们在系统使用中,为了方便查找问题,因此需要记录操作的日志,而目前比较成熟稳定的程序日志记录方式就是Log4,本人也是菜鸟,然后再学习研究中就记录一下使用方式,以方便今后查阅,同时本文章参考了博客园: ...
- log4net使用介绍
log4net是一款开源的日志工具,现已挂在apache基金会下.非常简单灵活,初学者有时会发现log4参照资料配置好,但并不输出日志.这种情况,一般是没有准确定位到配置文件.可参阅第3步. 下载 下 ...
- 初学ssm框架的信息
ssm框架,就是Spring ,SpringMVC ,mybstis 的简称,我们是从mybstis 开始学起的,mybatis的作用作为一个连接数据库的框架,可以很好配置连接好数据库, 有mybat ...
- 立即掌握SSM框架的要诀
ssm框架的总结: 1. 首先是POM.xml 文件的配置,他的作用主要是添加依懒的关系和自动下载相关的包. 2.对jdbc.properties进行配置 ,作用就是连接你的数据库的配置. 3.对接着 ...
- log4j和logback
Log4j和logback Log4j简介 Log4j(log for java) 1.是Apache的一个开源项目: 2.是使用Java语言编写的一个日志框架: 3.用于记录程序中的日志信息: 4. ...
- java深入探究11-基础加强
1. ? extends String:String 子类;? super String:String 父类 2.反射->参数化类型表示 ParameteredType:参数化类型表示,就是获得 ...
- 自定义log4j的appender写es日志
本篇和大家分享的是自定义log4j的appender,用es来记录日志并且通过kibana浏览es记录:就目前互联网或者一些中大型公司通常会用到第三方组合elk,其主要用写数据到es中,然后通过可视化 ...
- Maven工具-简介
Maven工具-简介 定义 ①maven是一款服务于java平台的自动化构建工具 make→Ant→maven→Gradle ②构建 [1]概念:以"java源文件"." ...
随机推荐
- flex中DataGrid里使用itemRenderer后数据无法绑定到数据源的问题
<?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="ht ...
- 百度语音识别REST API——通过使用Http网络请求方式获得语音识别功能
百度语音识别通过REST API的方式给开发人员提供一个通用的HTTP接口,基于该接口,开发人员能够轻松的获取语音识别能力,本文档描写叙述了使用语音识别服务REST API的方法. 长处: 较之开发人 ...
- Codeforces Round #313 (Div. 1) B. Equivalent Strings DFS暴力
B. Equivalent Strings Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/559 ...
- Android 数据库打包随APK发布
有些时候我们的软件用到SQLite数据库,这个时候怎么把一个做好的数据库打包进我们的APK呢,其实很简单,就是把我们的数据库文件放到我们的手机里,所以不必局限在哪个地方写这个代码,在第一次创建数据库的 ...
- Some tips on using HashSet<T> and List<T>
This article is written based on my colleague's review Most of the times, when I want to use a colle ...
- 【JavaScript】关于JS中的constructor与prototype
最初对js中 object.constructor 的认识: 在学习JS的面向对象过程中,一直对constructor与prototype感到很迷惑,看了一些博客与书籍,觉得自己弄明白了,现在记录如下 ...
- java课堂练习之可变參数与卫条件
/* 有人邀请A,B,C,D,E,F 6个人參加一项会议,这6个人有些奇怪.由于他们有非常多要求,已知: 1)A,B两人至少有1人參加会议: 2)A,E,F 3人中有2人參加会议. 3)B和C ...
- 自增锁ID复用问题
mysql> select * from pp; +----+------+ | id | name | +----+------+ | xx | | xx | | xx | | xx | | ...
- String当中的高效函数(优化)
1. indexOf()函数是一个执行速度非常快的函数,可以用其与subString()实现高效的字符串分割,比内置的要高效. 2. charAt()方法也是高效率的函数,可以用其实现高效的start ...
- 在Dropbox上搭建私有的Git仓库的教程
导读 Git版本控制系统需要一个服务器端,而GitHub上要想创建私有的Git服务器端仓库则触及到收费项目,于是这里我们利用Dropbox的免费空间,来看一下在Dropbox上搭建私有的Git仓库的教 ...