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源文件"." ...
随机推荐
- C++ Code_ScrollBar
主题 1. ScrollBar的使用 2. 3. 4. 5. 属性 HScrollBar VScrollBar 直接拖拽1其中任意空间到对话框上面是,你一拖拽滚动条,它立即回到原始位置 ...
- Socket编程学习之道:揭开Socket编程的面纱
对TCP/IP.UDP.Socket编程这些词你不会非常陌生吧?随着网络技术的发展.这些词充斥着我们的耳朵. 那么我想问: 1. 什么是TCP/IP.UDP? 2. S ...
- 安装luinxWEB
Webmin的安装很简单,下面就详细说一下安装步骤. 1.用ssh客户端软件登陆服务器2.切换目录到root下,命令是:cd /root/3.下载Webmin的安装文件,命令是:wget http:/ ...
- 安装jasperwave出错
1.错误描写叙述 2.错误原因 无法下载"com.jasperwave.engine_1.1.0.jar",须要又一次下载 3.解决的方法 将"com.jasperwav ...
- Cannot instantiate the type HttpClient问题
看自己动手写爬虫,没想到一上来就跪了. 里面提到用的jar包是apache的http客户端开源项目---HttpClient 就去官网下载了一个版本4.3 当按书上代码敲时 HttpClient ht ...
- PEAR:使用PHPDoc轻松建立你的PEAR文档
对于一个开发人员,文档总是最感到头疼的事情之一.而且,很可能你对待文档会采取截然不同的2种态度: 当你使用别人的代码库的时候,最希望得到的是它的技术文档,尤其是当时间很紧,而你又不得不硬着头皮去读那些 ...
- 解决CSDN的code功能,无法git clone多个项目的问题
几天前在使用CSDN的git功能的时候发现一个问题:我在CSDN上创建了两个项目,但是却只能git clone其中的一个. 原因: 在添加ssh公钥的时候,将主机上的ssh公钥在CSDN上填的地方不合 ...
- git的一些命令
因为项目的原因,大家把项目托管到git上,然后我不会,队友就传了一个廖雪峰的git教程,讲的很详细,不会用git的同学,可以在http://pan.baidu.com/s/1pKizolP上下载,这是 ...
- 根据当前IP获取当时所在信息
现在很多系统,都要在登录时候,确定当前用户所在的位置.这里记录一个C#使用Http的方式获取当前IP所在的位置信息.主要使用的api是新浪的接口. public partial class sina ...
- html 文件上传框 input标签
文件上传框 有时候,需要用户上传自己的文件,文件上传框看上去和其它 文本域差不多,只是它还包含了一个浏览按钮.访问者可以通 过输入需要上传的文件的路径或者点击浏览按钮选择需要上传 的文件. 代码格式: ...