문제 해결: 로그 수신기(Visual Basic)
My.Application.Log
및 My.Log
개체를 사용하여 애플리케이션에서 발생하는 이벤트에 대한 정보를 기록할 수 있습니다.
해당 메시지를 받는 로그 수신기를 확인하려면 연습: My.Application.Log가 정보를 기록하는 위치 확인을 참조하세요.
Log
개체는 로그 필터링을 사용하여 기록하는 정보의 양을 제한할 수 있습니다. 필터가 잘못 구성된 경우 로그에 잘못된 정보가 포함될 수 있습니다. 필터링에 대한 자세한 내용은 연습: My.Application.Log 출력 필터링을 참조하세요.
그러나 로그가 잘못 구성된 경우 현재 구성에 대한 자세한 정보가 필요할 수도 있습니다. 이 정보는 로그의 고급 TraceSource
속성을 통해 얻을 수 있습니다.
코드에서 Log 개체에 대한 로그 수신기를 확인하려면
코드 파일의 시작 부분에 있는 System.Diagnostics 네임스페이스를 가져옵니다. 자세한 내용은 Imports 문(.NET 네임스페이스 및 형식)을 참조하세요.
Imports System.Diagnostics
각 로그 수신기에 대한 정보로 구성된 문자열을 반환하는 함수를 만듭니다.
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 &= ": Unhandled log type: " & listenerType.ToString End If ret &= vbCrLf Next Return ret End Function
로그의 추적 수신기 컬렉션을
GetListeners
함수에 전달하고 반환 값을 표시합니다.Dim ListenerCollection As TraceListenerCollection ListenerCollection = My.Application.Log.TraceSource.Listeners Dim ListenersText As String = GetListeners(ListenerCollection) MsgBox(ListenersText)
자세한 내용은 TraceSource를 참조하세요.
참조
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET