- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
【.net深呼吸】写⼊⽇志⽂件
记录⽇志,⼀⽅⾯可以把⽇志写⼊系统的⽇志存储中,可在事件查看器“”窗⼝中查看;如果不喜欢写到系统的⽇志⽂件中,也可以写到⾃⼰
定义的⽂件中。
其实,⽇志⽂件就是⽂本⽂件,可能有朋友会想到⽤写⼊⽂本⽂件的⽅式来写⽇志。当然,这样做也是可以的,不过,.NET类型库提供了
两个专⽤记录信息的类。
Debug类⼤家都很熟悉,就是可以在VS的输出“”窗⼝写⼊调试信息,另外,有⼀个跟Debug很像的类——Trace。Debug通常只会在调试版
本中使⽤,Trace既可以在调试版本中⽤,也可以⽤于发布(Release)版本。
下⾯以Write⽅法为例,看看Debug类和Trace类的定义有什么不同。
//Debug
[ConditionalAttribute(DEBUG)]
publicstaticvoidWrite(Objectvalue)
//Trace
[ConditionalAttribute(TRACE)]
publicstaticvoidWrite(Objectvalue)
ConditionalAttribute⽤于指定⼀个条件,当条件中给出的条件编译符号存在时才会执⾏。DEBUG和TRACE这两个符号可以在编译的时候指
定,也可以在VS项⽬属性中指定。
接下来我们了解⼀下监听器,它的公共基类是TraceListener,⽽Debug和Trace类都有⼀个Listeners集合,可以添加从TraceListener派⽣的
任意实例。即使我们没有在代码中向Listeners集合添加元素,在应⽤程序运⾏时,它会⾃动添加⼀个默认的监听器,类型为
DefaultTraceListener。
好了,前⾯都是F话,只是给⼤家娱乐的,说到了DefaultTraceListener,就进⼊本⽂主题了,看⼀下,这个类是不是有个属性叫
LogFileName?这就对了,只要把⽇志⽂件的相对路径或绝对路径赋给它就⾏了,⽇志⽂件可以不存在,但⽬录应该是存在的。
来来来,咱们来练习⼀下。
//从Listeners集合中找出默认监听器
DefaultTraceListenerlistener=Trace.Listeners[Default]asDefaultTraceListener;
//指定⽇志⽂件
if(listener!=null)
{
listener.LogFileName=MyApp.log;
}
//测试写⼊
Trace.WriteLine(今天天⽓很好。);
Trace.WriteLine(明天天⽓依旧地热。);
Trace.WriteLine(DateTime.Today.ToLongDateString());
刚刚说过,默认情况下,Listeners集合中会有⼀个DefaultListener监听器,⽽且它的Name属性为“Default”,因此,我们按照名称就可以把
它取出来,然后设置它的LogFileName属性,这⾥我⽤的是相对路径,即创建的⽇志⽂件位于可执⾏⽂件相同的⽬录下。
使⽤Trace类⽽不⽤Debug类,是因为Trace可以在调试版本中⽤,也可以在发布版本中⽤。从运⾏过程来看,跟踪信息既会出现在输出“”窗
⼝中,也会同时写⼊前⾯指定的⽇志⽂件中。
待上⾯⽰例运⾏后,再到程序⽬录下,⽤记事本打开⽇志⽂件,就能看到记录的信息了。
要是你⽐较不喜欢⽤默认的监听器,还可以先把Listeners集合清空,然后Add⼀个别的监听器,除了DefaultTraceListener,还有
TextWriterTraceListener、XmlWriterTraceListener等,它们的继承关系就不说了,⾃⼰看⽂档。
下⾯我们来⽤TextWriterTraceListener来写⼊⽇志⽂件。
staticvoidMain(string[]args)
{
//清空监听器集合
Trace.Listeners.Clear();
//加⼊新的监听器
文档评论(0)