.NET 下使用 log4net
2012-12-29 15:18
316 查看
1、下载配置
到官网下载最新的log4net包,需要2个dll:Common.Logging.dll和log4net.dll
这里我也准备了一份(log4net 1.2.10.0):
http://download.csdn.net/detail/xz2001/4941367
2、创建log配置文件
在项目根目录下创建log4net_config.xml,内容如下:
这里大概说一下,appender可以有多个节点,每个配置节点可以认为是一个日志输出方式,如:写入IO文件、写入数据库、输出到控件台等等,都是一个输出配置。
而<root>节点中是最终需要输出的配置,这里输出到两个地方:LogFileAppender和SysConsoleAppender,其 level 指定输入日志的级别,不太明白的可以百度一下。
3、修改AssemblyInfo.cs
为了让log4net能够找到配置文件,需要修改/Properties/AssemblyInfo.cs,在最后一行添加如下代码:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net_config.xml", Watch = true)]
另外,有人说还要在Application_Start中添加这样的代码:
log4net.Config.XmlConfigurator.Configure(new FileInfo("log4net_config.xml"));
经本人测试正常情况下是不需要的,但在集成了Spring.NET的项目中需要加入这段代码,否则日志不会写成功。
4、使用方式
这里的 log4net.ILog log = log4net.LogManager.GetLogger(typeof(UserController));
也可以这么创建:log4net.ILog log = log4net.LogManager.GetLogger("test");
访问后看下 c:\Logs\springdemo.log文件中的内容就知道有什么区别了,实际上相当于一个描述,是在什么地方写的日志信息。
到官网下载最新的log4net包,需要2个dll:Common.Logging.dll和log4net.dll
这里我也准备了一份(log4net 1.2.10.0):
http://download.csdn.net/detail/xz2001/4941367
2、创建log配置文件
在项目根目录下创建log4net_config.xml,内容如下:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" /> </configSections> <log4net> <appender name="LogFileAppender" type="log4net.Appender.FileAppender,log4net"> <param name="File" value="c:\\Logs\\springdemo.log"/> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%d [%t] %-5p %c %m%n"/> </layout> </appender> <appender name="SysConsoleAppender" type="log4net.Appender.ConsoleAppender,log4net"> <layout type="log4net.Layout.PatternLayout,log4net"> <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" /> </layout> </appender> <root> <level value="All" /> <appender-ref ref="LogFileAppender" /> <appender-ref ref="SysConsoleAppender" /> </root> </log4net> </configuration>
这里大概说一下,appender可以有多个节点,每个配置节点可以认为是一个日志输出方式,如:写入IO文件、写入数据库、输出到控件台等等,都是一个输出配置。
而<root>节点中是最终需要输出的配置,这里输出到两个地方:LogFileAppender和SysConsoleAppender,其 level 指定输入日志的级别,不太明白的可以百度一下。
3、修改AssemblyInfo.cs
为了让log4net能够找到配置文件,需要修改/Properties/AssemblyInfo.cs,在最后一行添加如下代码:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net_config.xml", Watch = true)]
另外,有人说还要在Application_Start中添加这样的代码:
log4net.Config.XmlConfigurator.Configure(new FileInfo("log4net_config.xml"));
经本人测试正常情况下是不需要的,但在集成了Spring.NET的项目中需要加入这段代码,否则日志不会写成功。
4、使用方式
public class UserController : Controller { public string Message { get; set; } public ActionResult Index() { log4net.ILog log = log4net.LogManager.GetLogger(typeof(UserController)); log.Info("message1"); log.Debug("message2"); log.Warn("message3"); ViewBag.Message = Message; return View(); } }
这里的 log4net.ILog log = log4net.LogManager.GetLogger(typeof(UserController));
也可以这么创建:log4net.ILog log = log4net.LogManager.GetLogger("test");
访问后看下 c:\Logs\springdemo.log文件中的内容就知道有什么区别了,实际上相当于一个描述,是在什么地方写的日志信息。
相关文章推荐
- .net下使用Common.Logging和log4net
- .NET中使用log4net
- 在.Net中使用log4Net
- .net使用DotNetCharting控件生成报表统计图总结 (http://www.cnblogs.com/dreamof/archive/2008/07/18/1245887.html)
- ASP.NET 计划任务,使用.net内部机制,解决应用池回收问题
- 在.net中使用MagicAjax.NET
- The NOTE of learning ASP.NET [10] 关于.NET整型与浮点型变量使用上的效率和存储问题
- MVC5中使用Log4net
- 在asp.net中使用 log4net
- 【.NET 深呼吸】在 .net core app 中使用 Composition
- .net 1.1 下不使用 system.web.mail.smtpmail 发送邮件的其它选择_asp.net技巧
- 利用SQLite ADO.NET在.NET(C#)中使用SQLite数据库
- C# 使用/配置Log4Net
- .NET性能分析最佳实践之:如何找出使用过多内存的.NET代码(基础篇)
- 初次使用log4net
- (原創) 是否該使用.NET 2.0的DataSource? (初級) (.NET) (ADO.NET)
- Oracle Data Provider for .NET的使用(三)-ORACLE与.NET类型对应关系
- .NET 4.0 下使用 Python for .NET
- c#使用log4net
- 使用 ODP.NET 访问 Oracle(.net如何访问Oracle)详解