|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
实不相瞒,Java是我见过的执行效率最低的程序设计语言,前不久在CSDN论坛上有个评测,计算9999的阶乘,同样的循环算法,Java的耗时是.NET的5倍。apache|asp.netlog4net是Apachelog4j的.net版,是一套XML设置型的日记引擎,恰好比来有个程序必要日记体系,为了整合便利,就决意研讨一下。感激郝伟保举。
log4net体系分别了7个日记品级,如设置为"WARN",则DEBUG,INFO不会被纪录。以下:
1.ALL
2.DEBUG
3.INFO
4.WARN
5.ERROR
6.FATAL
7.OFF
CreatingtheSampleApplication
Step1:下载log4net
往logging.apache.org/log4net,来猎取他们的比来版,在例子里我用的是incubating-log4net-1.2.9-beta.zip,等候正式版。
Step2:创立ASP.NETWeb使用程序
创立这个就未几说了,在log4net-1.2.0-beta8in
et如图。找到对应的dll,增加到援用里。有的版本没有编译好的dll,那就本人编一下吧,用.NETV1.0的谁人版本转换成1.1或2.0的。我以为这不是事情掉误,是存心的。他们玩java玩惯了的人很多多少都是如许。
ConfiguringtheSampleApplication
Step3:增加Assembly信息
翻开AssemblyInfo.cs文件,增加:
[assembly:log4net.Config.DOMConfigurator()]
这句话的意义是log4net体系会主动寻觅设置文件Web.config从而取得并加载个中的设置信息。假如想log4net随时监督设置文件以便从头加载的话就
略微贫苦点了要如许写:
[assembly:log4net.Config.DOMConfigurator(ConfigFile="filename",ConfigFileExtension="log4net",Watch=true)]
Step4:增加设置信息
要编纂Web.config文件了,真是每次瞥见它都有欣喜啊。找到configuration标签,configSections要紧挨着写到它上面(一点都不替他人思索,要在有一个也跟他一样强横怎样办?那就单写个它的日记设置文件吧!我估量APACHE他们就是这么想的)。看看例子吧:
<?xmlversion="1.0"encoding="utf-8"?>
<configuration>
<configSections>
<sectionname="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler,log4net-net-1.0"
/>
</configSections>
<!--Thissectioncontainsthelog4netconfigurationsettings-->
<log4net>
<!--Definesomeoutputappenders-->
<appendername="ConsoleAppender"type="log4net.Appender.ConsoleAppender">
<layouttype="log4net.Layout.PatternLayout">
<paramname="ConversionPattern"value="%d[%t]%-5p%c[%x]<%X{auth}>-%m%n"/>
</layout>
</appender>
<!--RollingFileAppenderlooksafterrollingoverfilesbysizeordate-->
<appendername="RollingFileAppender"type="log4net.Appender.RollingFileAppender">
<paramname="File"value="C:logRollingLogHelloWorld.log"/>
<paramname="AppendToFile"value="true"/>
<paramname="MaxSizeRollBackups"value="10"/>
<paramname="MaximumFileSize"value="1000"/>
<paramname="RollingStyle"value="Size"/>
<paramname="StaticLogFileName"value="true"/>
<layouttype="log4net.Layout.PatternLayout">
<paramname="ConversionPattern"value="%d[%t]%-5p%-45c[%x]-%m%n"/>
</layout>
</appender>
<!--FileAppenderappendstoaloganditismanuallymanagedorsize-->
<appendername="FileAppender"type="log4net.Appender.FileAppender">
<paramname="File"value="LogHelloWorld.log"/>
<!--Exampleusingenvironmentvariablesinparams-->
<!--<paramname="File"value="${TMP}ApplicationKit.log"/>-->
<paramname="AppendToFile"value="true"/>
<layouttype="log4net.Layout.PatternLayout">
<paramname="ConversionPattern"value="%d[%t]%-5p%c[%x]-%m%n"/>
</layout>
</appender>
<!--Setuptherootcategory,addtheappendersandsetthedefaultlevel-->
<root>
<levelvalue="INFO"/>
<appender-refref="ConsoleAppender"/>
</root>
<!--ApplicationKitcategory-thepresentationUI-->
<loggername="WebForm1">
<levelvalue="INFO"/>
<appender-refref="FileAppender"/>
</logger>
</log4net>
</configuration>
注重Logger节点的NAME属性设的是WebForm1,这里指的是类名。要给每个必要增加LOG的类都增加一个如许的节点。想起了OSWORKFLOW事情流了,天真与便利有用常常不成兼得。这里的级别是INFO,也就是说,INFO以下的不会被纪录。
RunningtheSampleApplication
Step5:增加一个Log类
起首是增加援用
usinglog4net;usinglog4net.Config;//然后是实例化假如仔细研讨了设置文件,那末这个声明体例就很好了解了:privatestaticreadonlyILoglog=LogManager.GetLogger("WebForm1");
Step6:利用Log工具
到了如今,一切的设置事情都已完成了,接上去的事情就是测试一下,把他和使用层连起来。任意加一个按钮在呼应事务Button1_Clickeventhandler.中增加
log.Info("HelloWorld,Iamalogger");
Step7:RuntheApplication
如今能够运转了,应当是个如许子的:
如许每次点击按钮,在日至文件中就会呈现
2006-02-1310:12:30,671[1228]INFOWebForm1[]-HelloWorld,Iamalogger如许一笔记录。
总结:
复杂易用,过一阵再研讨SQL日记吧,DB才素霸道,呵呵。
更多信息拜见http://logging.apache.org/log4net/
学习asp.net两个月有余了,除了对html、web控件比较熟悉(应该是说都能理解和接受)之外,竟不知道自己还会什么。看了两本书:《精通asp.net网络编程》(人民邮电出版社)、《asp.net实用案例教程》(清华大学出版社)。 |
|