分类

安卓应用安卓游戏攻略资讯

服务器类

Apache log4net

Apache log4net v2.0.6官方最新版 附使用教程

大小:1.23 MB

语言:简体中文系统:WinXP, Win2003, Vista, Win7, Win8, Win10

类别:服务器类时间:2016-12-30

Apache log4net是专业的服务器配置软件,可以帮助程序员将日志信息输出到各种不同目标的.net类库,还可以记载日志级别,非常好用,可以大大减轻程序员的工作量。有需要的朋友赶快下载吧!

log4net有三个主要组件:loggers,appenders 和 layouts。这三个组件一起工作使得开发者能够根据信息类型和等级(Level)记录信息,以及在运行时控制信息的格式化和信息的写入位置(如控制台,文件,内存,数据库等)。过滤器(filter)帮助这些组件,控制追加器(appender)的行为和把对象转换成字符串的对象渲染。

log4net基本介绍

log4net框架是基于Apache log4j,这里介绍log4net API,其独特的功能和设计原理。log4net是一个基于很多作者的工作的开源项目。log4net允许开发人员用任意粒度控制日志语句的输出。log4net使用外部配置文件在运行时完全可配置。
几乎每个大型应用程序都包含它自己的日志,或追踪 API。向代码中插入日志语句对于调试程序是一个很低级的方法。这也是唯一一个方法,因为调试器不会总是可靠或可用的。通常是在大规模多线程应用程序和分布式应用程序的情况。
应用程序一旦被部署,使用开发或调试工具将不是不可能的。一个管理员可以使用有效的日志系统来诊断和修复很多配置问题。
经验说明,日志是一个开发周期中很重要的组件。它提供了很多优势。如提供关于应用程序执行的准确的上下文环境(context )。日志一旦插入到代码,日志输出的产生不需要人工干预。此外,日志输出可以保存在永久介质,以在稍后进行研究。除了用在开发周期中,丰富的日志记录包也可以被看作一个审计工具。
日志确实也有它的缺点。它可以减慢应用程序。如果太详细,它可能会导致滚动失败。为缓解这些问题,log4net 被设计成可靠的,快速的和可扩展的。由于日志很少是一个应用程序的主要焦点,因此,log4net API 致力于易于理解和使用。

log4net配置使用教程

1、配置config文件
为了方便管理,把log4net的配置文件从web.config中分离,新建一个名为log4net.config的文件,内容如下:





2.初始化配置 log4net.Config.XmlConfigurator.Configure();

3.调用logger.Info("asdfasd");

2.细节详解

1.Log4net框架定义了一个叫做LogManager的类,用来管理所有的logger对象。它有一个GetLogger()静态方法,用我们提供的名字参数来检索已经存在的Logger对象。如果框架里不存在该Logger对象,它也会为我们创建一个Logger对象。代码如下所示:

log4net.ILog log = log4net.LogManager.GetLogger("logger-name");

通常来说,我们会以类(class)的类型(type)为参数来调用GetLogger(),以便跟踪我们正在进行日志记录的类。传递的类(class)的类型(type)可以用typeof(Classname)方法来获得,或者可以用如下的反射方法来获得:

log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

尽管符号长了一些,但是后者可以用于一些场合,比如获取调用方法的类(class)的类型(type)。

例: private void button1_Click(object sender, EventArgs e)

{

logger.Info("sdfasd");

}

System.Reflection.MethodBase.GetCurrentMethod().DeclaringType 就为button1_Click这个方法所在的类的类型

2.配置XmlConfigurator

使用代码初始化配置。

log4net.Config.XmlConfigurator.Configure(new FileInfo("test.log4net"));

使用 XmlConfigurator.ConfigureAndWatch() 方法除了初始化配置外,还会监测配置文件的变化,一旦发生修改,将自动刷新配置。

我们还可以使用 XmlConfiguratorAttribute 代替 XmlConfigurator.Config()/ConfigureAndWatch(),ConfiguratorAttribute 用于定义与 Assembly 相关联的配置文件名。

方式1: 关联到 test.log4net,并监测变化。

[assembly: log4net.Config.XmlConfigurator(ConfigFile="test.log4net", Watch=true)]

方式2: 关联到 test.exe.log4net (或 test.dll.log4net,文件名前缀为当前程序集名称),并监测变化。

[assembly: log4net.Config.XmlConfigurator(ConfigFileExtension="log4net", Watch=true)]

更新日志

Apache log4net从 2.0.6 开始,.NET Core — 或更准确地说是 .NET Standard 1.3 — 已经成为一个支持的平台。请注意,使用 .NET Core 版本时,log4net 的几个功能不可用,特别是 .NET 标准的程序集不支持以下功能:
1、the ADO.NET appender
2、anything related to ASP.NET (trace appender and several pattern converters)
3、.NET Remoting
4、log4net.LogicalThreadContext and the associated properties and stack classes
5、the colored console appender
6、the event log appender
7、The NetSendAppender
8、The SMTP appender
9、DOMConfigurator
10、stack trace patterns
11、access to appSettings (neither the log4net section itself nor using the AppSettingsPatternConverter)
12、Access to "special paths" using the EnvironmentFolderPathPatternConverter
13、Impersonation of Windows accounts
更新内容
Bug 修复
1、[LOG4NET-508] - NAnt release build is not optimized
2、[LOG4NET-512] - Thread safety issue in Hierarchy.cs
3、[LOG4NET-527] - broken link on config-examples.html
4、[LOG4NET-529] - Possible thread-safety bug in LoggingEvent
5、[LOG4NET-536] - Can't build for NETCF-2.0
改进
1、[LOG4NET-530] - Use UTC internally to avoid ambiguous timestamps
新特性
1、[LOG4NET-467] - Is .NET Core, will be supported in the near future, or not
2、[LOG4NET-511] - API to flush appenders
3、[LOG4NET-526] - Add appSetting conversion pattern to PatternString-->-->-->

展开

猜您喜欢

同类推荐

网友评论