.Net自定义跟踪文件名
发布时间:2020-12-17 07:27:20 所属栏目:百科 来源:网络整理
导读:我希望我的应用程序写出名为MachineName_UserName_yyyymmdd_hhmmss.txt的不同跟踪文件,其中用户名是当前登录的用户,时间是应用程序的开始时间. .Net侦听器TextWriterTraceListener似乎只支持配置文件中指定的硬编码文件名.有没有办法在不编写自定义跟踪侦听
我希望我的应用程序写出名为MachineName_UserName_yyyymmdd_hhmmss.txt的不同跟踪文件,其中用户名是当前登录的用户,时间是应用程序的开始时间. .Net侦听器TextWriterTraceListener似乎只支持配置文件中指定的硬编码文件名.有没有办法在不编写自定义跟踪侦听器的情况下执行此操作.
假设我必须编写一个自定义跟踪侦听器,我已经实现了一个这样的tracelistener: Imports System.Diagnostics Public Class MyCustomTraceListener Inherits TextWriterTraceListener Public Sub New() 'Need to do it this way as the Base constructor call has to be the first statement MyBase.New(String.Format("AppNameTraceFile_{0}_{1}_{2}{3}{4}-{5}{6}{7}.txt",_ Environment.MachineName,_ Environment.UserName,_ DateTime.Now.ToString("yyyy"),_ DateTime.Now.ToString("MM"),_ DateTime.Now.ToString("dd"),_ DateTime.Now.ToString("HH"),_ DateTime.Now.ToString("mm"),_ DateTime.Now.ToString("ss"))) Me.IndentSize = 4 End Sub End Class 在配置文件中,我已经像这样配置了跟踪源: <system.diagnostics> <trace autoflush="true"/> <sources> <source name="MyTraceSource" switchName="mySwitch" switchType="System.Diagnostics.SourceSwitch" > <listeners> <clear/> <add name="MyTraceListener" type="MyNameSpace.MyCustomTraceListener" traceOutputOptions="ProcessId,DateTime,Callstack" /> </listeners> </source> </sources> <switches> <add name="mySwitch" value="Warning" /> </switches> </system.diagnostics> 我正在创建跟踪源,如下所示: Dim tsTraceSource As TraceSource = New TraceSource("MyTraceSource") tsTraceSource.TraceEvent(TraceEventType.Warning,"warning message") 但是,在启动时,我一直收到错误,找不到类型“MyNameSpace.MycustomTraceListener”. 有谁看到这里的问题是什么? 谢谢. 解决方法
你不需要告知你的类型装配吗?
<add name="MyTraceListener" type="MyNameSpace.MyCustomTraceListener,MyAssembly" traceOutputOptions="ProcessId,Callstack" /> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容