Logger1 (повернутися на головну сторінку проєкту)
Logger1.vb - логер, який пише у вікно Immediate window Visual Studio та у стандартний .NET лог. Неважко зробити й інший логер, який буде зберігати протокол запитів до SQL-серверу наприклад у текстовий файл.
1: Imports System.Diagnostics
2:
3: Namespace Log1
4:
5: Public Class Logger1
6: Implements ILogger
7:
8: Public Sub Information(message As String) Implements ILogger.Information
9: Debug.WriteLine(message)
10: Trace.TraceInformation(message)
11: End Sub
12:
13: Public Sub Information(fmt As String, ParamArray vars() As Object) Implements ILogger.Information
14: Debug.WriteLine(fmt, vars)
15: Trace.TraceInformation(fmt, vars)
16: End Sub
17:
18: Public Sub Information(exception As Exception, fmt As String, ParamArray vars() As Object) Implements ILogger.Information
19: Debug.WriteLine(FormatExceptionMessage(exception, fmt, vars))
20: Trace.TraceInformation(FormatExceptionMessage(exception, fmt, vars))
21: End Sub
22:
23: Public Sub Warning(message As String) Implements ILogger.Warning
24: Debug.WriteLine(message)
25: Trace.TraceWarning(message)
26: End Sub
27:
28: Public Sub Warning(fmt As String, ParamArray vars() As Object) Implements ILogger.Warning
29: Debug.WriteLine(fmt, vars)
30: Trace.TraceWarning(fmt, vars)
31: End Sub
32:
33: Public Sub Warning(exception As Exception, fmt As String, ParamArray vars() As Object) Implements ILogger.Warning
34: Debug.WriteLine(FormatExceptionMessage(exception, fmt, vars))
35: Trace.TraceWarning(FormatExceptionMessage(exception, fmt, vars))
36: End Sub
37:
38: Public Sub [Error](message As String) Implements ILogger.Error
39: Debug.WriteLine(message)
40: Trace.TraceError(message)
41: End Sub
42:
43: Public Sub [Error](fmt As String, ParamArray vars() As Object) Implements ILogger.Error
44: Debug.WriteLine(fmt, vars)
45: Trace.TraceError(fmt, vars)
46: End Sub
47:
48: Public Sub [Error](exception As Exception, fmt As String, ParamArray vars() As Object) Implements ILogger.Error
49: Debug.WriteLine(FormatExceptionMessage(exception, fmt, vars))
50: Trace.TraceError(FormatExceptionMessage(exception, fmt, vars))
51: End Sub
52:
53: Public Sub TraceApi(componentName As String, method As String, timespan As TimeSpan) Implements ILogger.TraceApi
54: TraceApi(componentName, method, timespan, "")
55: End Sub
56:
57: Public Sub TraceApi(componentName As String, method As String, timespan As TimeSpan, fmt As String, ParamArray vars() As Object) Implements ILogger.TraceApi
58: TraceApi(componentName, method, timespan, String.Format(fmt, vars))
59: End Sub
60:
61: Public Sub TraceApi(componentName As String, method As String, timespan As TimeSpan, properties As String) Implements ILogger.TraceApi
62: Dim message As String = String.Concat("Component:", componentName, ";Method:", method, ";Timespan:", timespan.ToString(), ";Properties:", properties)
63: Debug.WriteLine(message)
64: Trace.TraceInformation(message)
65: End Sub
66:
67: Private Shared Function FormatExceptionMessage(ByVal exception As Exception, ByVal fmt As String, ByVal vars As Object()) As String
68: Dim sb = New StringBuilder()
69: sb.Append(String.Format(fmt, vars))
70: sb.Append(" Exception: ")
71: sb.Append(exception.ToString())
72: Return sb.ToString()
73: End Function
74: End Class
75: End Namespace
Comments (
)
<00>
<01>
<02>
<03>
<04>
<05>
<06>
<07>
<08>
<09>
<10>
<11>
<12>
<13>
<14>
<15>
<16>
<17>
<18>
<19>
<20>
<21>
<22>
<23>
Link to this page:
//www.vb-net.com/EF-missing-FAQ/Logger1.htm
<SITEMAP> <MVC> <ASP> <NET> <DATA> <KIOSK> <FLEX> <SQL> <NOTES> <LINUX> <MONO> <FREEWARE> <DOCS> <ENG> <CHAT ME> <ABOUT ME> < THANKS ME> |