ASP.Net2.0使用Log4Net(一)
点击次数:24 次 发布日期:2008-11-26 10:27:52 作者:源代码网
|
源代码网推荐 源代码网推荐 Log4Net主页: http://logging.apache.org/log4net/,下载Log4Net 源代码网推荐 Log4Net主要由Logger, Appender, Filter, Layout 4个组件构成, 一般情况下后3个组件在配置文件中配置. 源代码网推荐 Logger 源代码网推荐 负责产生日志消息,可以在代码中调用 源代码网推荐 Appender 源代码网推荐 负责向存储介质中追加日志, 一般在配置文件中配置,根据保存日志介质的不同Appender有多种, 比如:AdoNetAppender,EventLogAppender,RollingFileAppender等.参见: http://logging.apache.org/log4net/release/config-examples.html. 源代码网推荐 Filter 源代码网推荐 负责过滤日志, 一般和Appender联合使用,在配置文件中配置 源代码网推荐 Layout 源代码网推荐 负责日志消息的格式, 一般和Appender联合使用,在配置文件中配置。 源代码网推荐 使用步骤 源代码网推荐 1.给web项目添加引用log4net.dll 源代码网推荐 2. 在web.config的configuration(最顶层)下加 (网上文章是把log4net放到configSections前面,但是我编译不通过) 源代码网推荐 源代码网推荐 <configSections> 源代码网推荐 <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> 源代码网推荐 </configSections> 源代码网推荐 <log4net> 源代码网推荐 <root></root> 源代码网推荐 <logger name="Test"> 源代码网推荐 <level value="DEBUG" /> 源代码网推荐 <appender-ref ref="rollingFile" /> 源代码网推荐 </logger> 源代码网推荐 <appender name="rollingFile" type="log4net.Appender.RollingFileAppender,log4net" > 源代码网推荐 <param name="File" type="" value="log/" /> 源代码网推荐 <param name="AppendToFile" value="true" /> 源代码网推荐 <param name="RollingStyle" value="Date" /> 源代码网推荐 <param name="DatePattern" value="yyyyMMdd" /> 源代码网推荐 <param name="StaticLogFileName" value="false" /> 源代码网推荐 <layout type="log4net.Layout.PatternLayout,log4net"> 源代码网推荐 <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" /> 源代码网推荐 <param name="Header" value=" ----------------------header-------------------------- " /> 源代码网推荐 <param name="Footer" value=" ----------------------footer-------------------------- " /> 源代码网推荐 </layout> 源代码网推荐 </appender> 源代码网推荐 </log4net> 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 Logger的Level属性可以设以下值,由高到低为OFF,FATAL, ERROR,WARN,INFO,DEBUG,ALL. 高于设定值方法都能写入日志, Off所有的写入方法都不写到日志里,ALL则相反。例如当我们设成Info时,logger.Debug就会被忽略而不写入文件,但是FATAL, ERROR,WARN,INFO会被写入,因为他们等级高于INFO; 源代码网推荐 3. 在Global.ascx(如果项目中没有,则新建)中的Application_Start方法中加入 源代码网推荐 源代码网推荐 void Application_Start(object sender, EventArgs e) 源代码网推荐 { 源代码网推荐 // Code that runs on application startup 源代码网推荐 log4net.Config.XmlConfigurator.Configure(); 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 源代码网推荐 4.配置<log4net>标签中的内容 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 <log4net> 源代码网推荐 <root> 源代码网推荐 <!-- 源代码网推荐 <level value="ALL" /> 源代码网推荐 <appender-ref ref="rootFile" /> 源代码网推荐 --> 源代码网推荐 </root> 源代码网推荐 <logger name="Test"> 源代码网推荐 <level value="DEBUG" /> 源代码网推荐 <appender-ref ref="rollingFile" /> 源代码网推荐 </logger> 源代码网推荐 <appender name="rollingFile" type="log4net.Appender.RollingFileAppender,log4net" > 源代码网推荐 <param name="File" type="" value="log/" /> 源代码网推荐 <param name="AppendToFile" value="true" /> 源代码网推荐 <param name="RollingStyle" value="Date" /> 源代码网推荐 <param name="DatePattern" value="yyyyMMdd" /> 源代码网推荐 <param name="StaticLogFileName" value="false" /> 源代码网推荐 <layout type="log4net.Layout.PatternLayout,log4net"> 源代码网推荐 <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" /> 源代码网推荐 <param name="Header" value=" ----------------------header-------------------------- " /> 源代码网推荐 <param name="Footer" value=" ----------------------footer-------------------------- " /> 源代码网推荐 </layout> 源代码网推荐 </appender> 源代码网推荐 </log4net> 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 log4net标签的框架如下, 该标签下有root, logger, appender等标签 源代码网推荐 root标签 源代码网推荐 所有的logger都从root继承, root本身也是一个logger 源代码网推荐 logger标签 源代码网推荐 每个logger标签代表一个logger,appender-ref表示该logger产生的日志消息传递给哪个appender,一个logger可以把相同的消息传递给多个appender记录 源代码网推荐 appender标签 源代码网推荐 每个appender表示一个日志的存储位置,name不能和type一样 源代码网推荐 源代码网推荐 类型是RollingFileAppender 源代码网推荐 <appender name="rollingFile" type="log4net.Appender.RollingFileAppender,log4net" > 源代码网推荐 <param name="File" value="log" /> 文件名以log为开头 源代码网推荐 <param name="AppendToFile" value="true" /> 是否是向文件中追加日志 源代码网推荐 <param name="RollingStyle" value="Date" /> 日志根据日期滚动 源代码网推荐 <param name="DatePattern" value="yyyyMMdd" /> 日志文件名格式为: log20071120 源代码网推荐 <param name="StaticLogFileName" value="false" /> 日志文件名是否是固定不变的 源代码网推荐 源代码网推荐 日志消息的格式, 表示换行 源代码网推荐 <layout type="log4net.Layout.PatternLayout,log4net"> 源代码网推荐 <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" /> 源代码网推荐 <param name="Header" value=" ----------------------header-------------------------- " /> 源代码网推荐 <param name="Footer" value=" ----------------------footer-------------------------- " /> 源代码网推荐 </layout> 源代码网推荐 </appender> 源代码网推荐 源代码网推荐 消息模式 源代码网推荐 %m(message):输出的日志消息,如ILog.Debug(…)输出的一条消息 源代码网推荐 %n(new line):换行 源代码网推荐 %d(datetime):输出当前语句运行的时刻 源代码网推荐 %r(run time):输出程序从运行到执行到当前语句时消耗的毫秒数 源代码网推荐 %t(thread id):当前语句所在的线程ID 源代码网推荐 %p(priority): 日志的当前优先级别,即DEBUG、INFO、WARN…等 源代码网推荐 %c(class):当前日志对象的名称 源代码网推荐 %L:输出语句所在的行号 源代码网推荐 %F:输出语句所在的文件名 源代码网推荐 %-数字:表示该项的最小长度,如果不够,则用空格填充 源代码网推荐 5. 在代码中调用Logger 源代码网推荐 源代码网推荐 源代码网推荐 using System; 源代码网推荐 using System.Configuration; 源代码网推荐 using System.Data; 源代码网推荐 using System.Web; 源代码网推荐 using System.Web.Security; 源代码网推荐 using System.Web.UI; 源代码网推荐 using System.Web.UI.HtmlControls; 源代码网推荐 using System.Web.UI.WebControls; 源代码网推荐 using System.Web.UI.WebControls.WebParts; 源代码网推荐 using log4net; 源代码网推荐 源代码网推荐 public partial class _Default : System.Web.UI.Page 源代码网推荐 { 源代码网推荐 protected void Page_Load(object sender, EventArgs e) 源代码网推荐 { 源代码网推荐 ILog LOGGER = LogManager.GetLogger("Test"); 源代码网推荐 LOGGER.Debug("测试信息"); 源代码网推荐 } 源代码网推荐 } 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 最后,可以在根目录下找到日志对应日志文件。 源代码网推荐 本例源码:下载本文源码 源代码网推荐 注:本文参考博客园的相关文章,我用的是vs2008,但类库选得是.net framework2.0. 源代码网推荐 另记:做实例10分钟就完成了,这么短的文章我却编排了几个小时,到最后才勉强差人意,真不知写了那么多的文章的人是怎么坚持下去的。 源代码网推荐 源代码网推荐 做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。 源代码网推荐 源代码网供稿. |
