所有栏目

日志侦听器

作者:爱百科

日志侦听器是指可以使用 My.Application.Log 和 My.Log 对象记录有关应用程序中发生的事件的信息。

日志侦听器介绍

日志侦听器是指可以使用 My.Application.Log 和 My.Log 对象记录有关应用程序中发生的事件的信息。

产品介绍

Log 对象可以使用日志筛选来限制它所记录的信息量。如果筛选配置不正确,则日志可能包含错误的信息。

但是,如果日志配置不正确,则可能需要有关其当前配置的更多信息。可以通过日志的 TraceSource 高级属性获取此信息。

为代码中的日志对象确定日志侦听器

1.在代码文件的开头导入 System.Diagnostics 命名空间。

Visual Basic

imports System.Diagnostics

2.创建一个函数,用于返回由每个日志侦听器的信息组成的字符串。

Visual Basic

Function GetListeners(ByVal listeners As TraceListenerCollection) As String

Dim ret As String = ""

For Each listener As TraceListener In listeners

ret &= listener.Name

Dim listenerType As Type = listener.GetType

If listenerType Is GetType(DefaultTraceListener) Then

Dim tmp As DefaultTraceListener = _

DirectCast(listener, DefaultTraceListener)

ret &= ": Writes to the debug output."

ElseIf listenerType Is GetType(Logging.FileLogTraceListener) Then

Dim tmp As Logging.FileLogTraceListener = _

DirectCast(listener, Logging.FileLogTraceListener)

ret &= ": Log filename: " & tmp.FullLogFileName

ElseIf listenerType Is GetType(EventLogTraceListener) Then

Dim tmp As EventLogTraceListener = _

DirectCast(listener, EventLogTraceListener)

ret &= ": Event log name: " & tmp.EventLog.Log

ElseIf listenerType Is GetType(XmlWriterTraceListener) Then

Dim tmp As Diagnostics.XmlWriterTraceListener = _

DirectCast(listener, XmlWriterTraceListener)

ret &= ": XML log"

ElseIf listenerType Is GetType(ConsoleTraceListener) Then

Dim tmp As ConsoleTraceListener = _

DirectCast(listener, ConsoleTraceListener)

ret &= ": Console log"

ElseIf listenerType Is GetType(DelimitedListTraceListener) Then

Dim tmp As DelimitedListTraceListener = _

DirectCast(listener, DelimitedListTraceListener)

ret &= ": Delimited log"

Else

ret &= ": Unhandeled log type: " & _

listenerType.ToString

End If

ret &= vbCrLf

Next

Return ret

End Function

3.将日志的跟踪侦听器集合传递给 GetListeners 函数,并显示返回值。

Visual Basic

Dim ListenerCollection As TraceListenerCollection

ListenerCollection = My.Application.Log.TraceSource.Listeners

Dim ListenersText As String = GetListeners(ListenerCollection)

MsgBox(ListenersText)

有关更多信息,请参见 TraceSource 属性(My.Application.LogMy.Log)。

热点导航
教育资讯 知道问答 公考资讯 司法考试 建筑知识 工作范文 大学排名 报考专业 学习方法 句子美文 秒知回答 作业解答 精选答案 知途问学