Logging: Remove Warning from Error Log, Add Sublogging with Modules, Revert own Logger methods
This commit is contained in:
parent
4b7315a5e1
commit
85a33b35e8
@ -324,10 +324,15 @@ Public Class LogConfig
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' Returns the Logger for the specified module
|
||||
''' Returns the Logger for the specified module using event-properties
|
||||
''' </summary>
|
||||
''' <remarks>
|
||||
''' https://github.com/NLog/NLog/wiki/EventProperties-Layout-Renderer
|
||||
''' https://stackoverflow.com/questions/31337030/separate-log-file-for-specific-class-instance-using-nlog/32065824#32065824
|
||||
''' </remarks>
|
||||
''' <returns>An object of Logging.Logger</returns>
|
||||
Public Function GetLoggerWithModule(ModuleName As String) As Logger
|
||||
<DebuggerStepThrough()>
|
||||
Public Function GetLoggerFor(ModuleName As String) As Logger
|
||||
Dim oClassName As String = GetClassFullName()
|
||||
Return GetLogger(oClassName, ModuleName)
|
||||
End Function
|
||||
@ -340,7 +345,11 @@ Public Class LogConfig
|
||||
<DebuggerStepThrough()>
|
||||
Public Function GetLogger(ClassName As String, ModuleName As String) As Logger
|
||||
Dim oLogger = LogFactory.GetLogger(Of Logger)(ClassName)
|
||||
oLogger.ModuleName = ModuleName
|
||||
|
||||
If ModuleName IsNot Nothing Then
|
||||
Return oLogger.WithProperty("ModuleName", $"-{ModuleName}")
|
||||
End If
|
||||
|
||||
Return oLogger
|
||||
End Function
|
||||
|
||||
@ -431,7 +440,6 @@ Public Class LogConfig
|
||||
Private Sub AddDefaultRules(ByRef config As LoggingConfiguration)
|
||||
config.AddRuleForOneLevel(LogLevel.Error, TARGET_ERROR_EX)
|
||||
config.AddRuleForOneLevel(LogLevel.Fatal, TARGET_ERROR_EX)
|
||||
config.AddRuleForOneLevel(LogLevel.Warn, TARGET_ERROR)
|
||||
config.AddRuleForOneLevel(LogLevel.Warn, TARGET_DEFAULT)
|
||||
config.AddRuleForOneLevel(LogLevel.Info, TARGET_DEFAULT)
|
||||
End Sub
|
||||
|
||||
@ -2,70 +2,7 @@
|
||||
|
||||
Public Class Logger
|
||||
Inherits NLog.Logger
|
||||
Implements ILogger
|
||||
|
||||
''' <summary>
|
||||
''' Optional ModuleName to create different LogFiles for different Modules (arbitrary entities, User, File, etc.)
|
||||
''' </summary>
|
||||
''' <returns>The current ModuleName of the logger, if any.</returns>
|
||||
Public Property ModuleName As String = Nothing
|
||||
|
||||
<DebuggerStepThrough>
|
||||
Public Overloads Sub Info(Message As String)
|
||||
LogWithModuleName(Message, LogLevel.Info)
|
||||
End Sub
|
||||
|
||||
<DebuggerStepThrough>
|
||||
Public Overloads Sub Warn(Message As String)
|
||||
LogWithModuleName(Message, LogLevel.Warn)
|
||||
End Sub
|
||||
|
||||
<DebuggerStepThrough>
|
||||
Public Overloads Sub [Error](Exception As Exception)
|
||||
LogWithModuleName(Exception)
|
||||
End Sub
|
||||
|
||||
<DebuggerStepThrough>
|
||||
Public Overloads Sub Debug(Message As String)
|
||||
LogWithModuleName(Message, LogLevel.Debug)
|
||||
End Sub
|
||||
|
||||
<DebuggerStepThrough>
|
||||
Public Overloads Sub Trace(Message As String)
|
||||
LogWithModuleName(Message, LogLevel.Trace)
|
||||
End Sub
|
||||
|
||||
Private Sub LogWithModuleName(Exception As Exception)
|
||||
Dim oEventInfo As New LogEventInfo() With {
|
||||
.Exception = Exception,
|
||||
.Level = LogLevel.Error,
|
||||
.LoggerName = Name,
|
||||
.Message = Exception.Message
|
||||
}
|
||||
oEventInfo = MaybeSetModuleName(oEventInfo)
|
||||
|
||||
Log(oEventInfo)
|
||||
End Sub
|
||||
|
||||
Private Sub LogWithModuleName(Message As String, LogLevel As LogLevel)
|
||||
Dim oEventInfo As New LogEventInfo(LogLevel, Name, Message)
|
||||
oEventInfo = MaybeSetModuleName(oEventInfo)
|
||||
|
||||
Log(oEventInfo)
|
||||
End Sub
|
||||
|
||||
Private Function MaybeSetModuleName(LogEventInfo As LogEventInfo) As LogEventInfo
|
||||
If ModuleName IsNot Nothing AndAlso ModuleName <> String.Empty Then
|
||||
LogEventInfo.Properties.Item("ModuleName") = ModuleName
|
||||
End If
|
||||
|
||||
Return LogEventInfo
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' Prints a preformatted Block including a block identifier
|
||||
''' </summary>
|
||||
''' <param name="blockId">A unique Identifier for this block, eg. DocId, FullPath, ..</param>
|
||||
<DebuggerStepThrough()>
|
||||
Public Sub NewBlock(blockId As String)
|
||||
Dim message As String = $"-----> Start of Block {blockId}"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user