2.2、配置web.config 或 app.config 5
本文档将使用log4net框架对日志进行基本操作:将用户的每一个操作记录在日志文件中,以避免程序被部署后,不可能利用专门的调试工具去查找错误的问题。一个管理员可能需要有一套强大的日志系统来诊断和修复配置上的问题。而log4net为我们提供了方便的操作日志的方法。
2.1.1用VS打开项目,在其资源管理器中,右击引用,左击"添加引用",如图1_1所示
图1-1
2.1.2出现如图1_2所示的对话框,点击浏览,找到Log4net.dll文件所在的位置,双击AjaxPro.dll,然后点击确定。
图1-2
2.1.3在资源管理器的引用文件夹下,就可以看到Log4net了,说明添加引用成功,如图1_3所示。
图1-3
打开web.config文件,在configuration标签中添加以下代码,
<configSections>
<!--"type"属性的完整格式为:配置节处理器类名,程序集名称,Version=程序集版本号,Culture=区域信
息,PublicKeyToken=公钥-->
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections>
<log4net>
<!--日志记录器logger,可以有多个-->
<logger name="AppLogger">
<level value="INFO" />
<appender-ref ref="LogFileAppender" />
<appender-ref ref="ConsoleAppender" />
</logger>
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<param name="File" value="App.log" /> <!—日志文件名-->
<param name="AppendToFile" value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="Header" value="[Header]\r\n" />
<param name="Footer" value="[Footer]\r\n" />
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] %X{auth} - %m%n" /> <!—定义输出格式-->
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="DEBUG" />
<param name="LevelMax" value="FATAL" />
</filter>
</appender>
</log4net>
说明:
(1)标签configSections中是对下面标签log4net的声明
(2)logger是应用程序需要交互的主要组件,它用来产生日志消息。其中的level是日志的级别,我们可以用到的有五级——FATAL、EROR、WARN、INFO、DEBUG(优先级别由高到低),在日志中记录的是高于(含等于)此处记录的日志级别的信息(如程序中如果调用的是DEBUG将不被记录);appender-ref是对appender的声明。
(3)appender用来所有的日志事件传递到输出流
其他的内容就不详细说明了,如果想了解更多,请参考[技术资料]log4net_毛凌志_20071009
首先,在文件AssemblyInfo.cs下面加入
[assembly:log4net.Config.XmlConfigurator(ConfigFile="web.config",Watch=true)] 如下图:
这段代码的作用是将程序与上面的配置文件关联起来。
如果是winform程序,代码如下:
[assembly:log4net.Config.XmlConfigurator(ConfigFileExtension="config",Watch=true)]
其次,你就可以通过实现ILog接口去创建日志对象,然后调用相应的方法对日志进行操作。
Log4net.ILog log = Log4net.LogManager.GetLogger("AppLogger "); //此处要与配置文件中的logger
//的名字相同,这里常用来跟踪类,因此常以typeof(className)作为参数
log.Debug("debug"); //logger的方法,与上面提到的五个级别相对应,这里的参数是object类型
log.Info("info");
log.Warn("warn");
log.Error("error");
以上代码加入相应的位置就可以了