??xml version="1.0" encoding="utf-8" standalone="yes"?>在线观看国产v片,欧美精品电影免费在线观看,热99在线视频http://www.aygfsteel.com/liweichi/archive/2006/05/08/45068.htmlWei.LeeWei.LeeMon, 08 May 2006 11:16:00 GMThttp://www.aygfsteel.com/liweichi/archive/2006/05/08/45068.htmlhttp://www.aygfsteel.com/liweichi/comments/45068.htmlhttp://www.aygfsteel.com/liweichi/archive/2006/05/08/45068.html#Feedback0http://www.aygfsteel.com/liweichi/comments/commentRss/45068.htmlhttp://www.aygfsteel.com/liweichi/services/trackbacks/45068.html阅读全文

Wei.Lee 2006-05-08 19:16 发表评论
]]>
Log4net 使用文档(概念)http://www.aygfsteel.com/liweichi/archive/2006/03/28/37899.htmlWei.LeeWei.LeeTue, 28 Mar 2006 14:17:00 GMThttp://www.aygfsteel.com/liweichi/archive/2006/03/28/37899.htmlhttp://www.aygfsteel.com/liweichi/comments/37899.htmlhttp://www.aygfsteel.com/liweichi/archive/2006/03/28/37899.html#Feedback0http://www.aygfsteel.com/liweichi/comments/commentRss/37899.htmlhttp://www.aygfsteel.com/liweichi/services/trackbacks/37899.html     日志部分在程序中占了4%Q有利于帮助我们很快地得到我们需要的调试信息Q找到问题的Ҏ快解决问题Q从而降低我们的l护成本。这几天一直断断箋l地学习Log4net部分Q由于知道自己在一个比较长的时间必d使用.net的部分(HA Project and LIS ProjectQ,没办法,只有着头皮死肯Q)Q不q也让我见识不少呢!log4net是appache开源的一个杰作,和log4J很相象,如同孪生的兄弟一P基本的概念原理都是一LQ她主要应用?net上的。下面是我一些收集的资料Q同时也是我在开发过E中的一些经验ȝ。稍后也会把一些实际项目的l验记录下来Q和使用Log4J的相兛_宏V?br />
Log4net
主要有四个组件。分别是Logger(记录?/span>)Q?/span>Repository(?/span>)Q?/span>Appender(附着?/span>)?/span>Layout(布局)?/span>  

Logger 定义与用途:

Logger 是应用程序需要交互的主要lgQ它用来产生日志消息。生的日志消息q不直接昄Q还要预先经q?/span> Layout 的格式化处理后才会输出?/span>

Root 是一个默认的 Logger Q当一?/span> root ?/span> Logger 内容配置一致的时候就会记录两条相同的记录Q当在配|文件中找不?/span> logger 的名字时候,׃使用root的配|?/span> 
 

Repository 定义与用途:

Repository 主要用于负责日志对象l织l构的维护。现?已经使用LogManagercLl护日志对象l织?/span>

 

Appender 定义及用途:

   定义输出介质Q可以把多个 Aappender 附加C个日志对象中, 一?/span>Appender对象~省地把所有的日志事g传递到输出中Q我们可以通过Aappender Filters来过滤剩下我们需要的部分。分别有U别qoQ定义别区_Q字W串qoQ可以定义多?/span>filter。such as :LevelMatchFilter?font face="Verdana">LevelRangeFilter?/font>MDCFilter、NDCFilter?StringMatchFilter.

 

Layout 定义与用?/span>

Layout lg用于向用hC最后经q格式化的输Z息。可以是U性的或一?/span> XML 文g?/span> Layout lg和一?/span> Appender lg一起工作。也是说一?/span> appender 对象 只能对应一?/span> layout 对象?/span>

 

 

Log4net DEBUG 信息分Q?/span>

一共有七

U别
允许Ҏ

Boolean 属?/span>

优先U别

 

OFF Q拒l所有的日志hQ?/span>                      FATAL                                     ERROR  

  null                                                                    void Fatal(...);                            void Error(...);

  null                                                                    bool IsFatalEnabled;                  bool IsErrorEnabled; 

 Highest                                                              second                                       three

 

 WARN                                                             INFO                                        DEBUG

void Warn(...);                                                    void Info(...);                             void Debug(...);

bool IsWarnEnabled;                                          bool IsInfoEnabled;                   bool IsDebugEnabled;

four                                                                    five                                           six

 

ALL Q允许所有的日志hQ?/span>

 Null

 Null

 Lowest

 

Log4net 配置方式Q?/span>

1Q?span style="FONT: 7pt 'Times New Roman'"> 在单独文仉配置Q推荐)Q改变配|不需要重新编译代码,同时也可以在E序q行的过E中修改代码?/span>

2Q?span style="FONT: 7pt 'Times New Roman'"> 在程序代码中配置

 

兌配置文gQ?/span>

log4net 框架使用 log4net.Config.DOMConfiguratorAttribute log4net.Config.XmlConfigurator 在程序集的别上定义配置文g。方法有多种的:
1
Q可以在目?/span> AssemblyInfo.cs 文g里添加以下的语句

  [assembly:log4net.Config.XmlConfigurator(ConfigFile="filename",   ConfigFileExtension="ext",Watch=true/false)]

其中 configFile 讑֮了配|文件的文g名,路径Q扩展名

configFileExtension 讑֮了被~译的文件用扩展名字,默认?/span> config

但是configFileExtension与configFile不能同时使用。在q里我们可以兌我们手动配置的文Ӟ而不使用.netl我们的应用E序配置文g?br />egQ?br />[assembly:log4net.Config.DOMConfigurator(ConfigFile="/Projects/Regular/bin/config/App.log.conf.xml",Watch=true)] 

2 Q可以不带参数应?/span> DOMConfiguratio():

 

 [assembly: log4net.Config.DOMConfigurator()]

3Q?span style="FONT: 7pt 'Times New Roman'"> 也可以在E序代码中用 DOMConfigurator cL开配置文g。类的构造函数需要一?/span> FileInfo 对象作参敎ͼ以指打开的配|文件名?/span>

log4net.Config.DOMConfigurator.Configure(

 

  new FileInfo("TestLogger.Exe.Config"));

 

创徏日志对象Q?/span>

当日志对象没有在配置文g中定义的话,׃使用 root 的祖父节炏V?/span>

Log4net.ILog log = Log4net.LogManager.GetLogger("MyLogger");

 

输出日志信息Q?/span>

可以使用输出日志的几U方式:fatal();error();warn();info();debug();

if (log.IsDebugEnabled) log.Debug("message");

 

 

DEBUG 输出格式的意义:

Eg Q?/span>

<param name="ConversionPattern"

   value="%d [%t] %-5p %c [%x] - %m%n"

        />

%m(message): 输出的日志消息,?/span> ILog.Debug( ?/span> ) 输出的一条消?/span>

%n(new line): 换行

%d(datetime): 输出当前语句q行的时?/span>

%r(run time): 输出E序从运行到执行到当前语句时消耗的毫秒?/span>

%t(thread id): 当前语句所在的U程 ID

%p(priority): 日志的当前优先别,?/span> DEBUG ?/span> INFO ?/span> WARN …等

%c(class): 当前日志对象的名Uͼ例如Q?/span>

       模式字符串ؓQ?/span> %-10c -%m%n

       代码为:

ILog log=LogManager.GetLogger(“Exam.Log?;

log.Debug(“Hello?;

    则输Zؓ下面的Ş式:

Exam.Log       - Hello

%L Q输句所在的行号 。包括类目名、发生的U程Q以及在代码中的行数?/span>

%F Q输句所在的文g?/span>

%- 数字Q表C的最长度,如果不够Q则用空格填?/span>

例如Q{换模式ؓ %r [%t]%-5p %c - %m%n ?/span> PatternLayout 生成类g以下内容的输出:

176 [main] INFO  org.foo.Bar - Located nearest gas station. 
 (未完待箋)



Wei.Lee 2006-03-28 22:17 发表评论
]]>
վ֩ģ壺 | ½| ۶| ˮ| Ϸ| º| ƽ| | ۩| | | ɽ| ƽ| | | | | | ÷ӿ| | ˷| ޶| | ͬ| ˮ| ׸| | Ƽ| | | | ˮ| | | | ʱ| Ͷ| | ͬ| | |