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
|
End Function
|
||||||
|
|
||||||
''' <summary>
|
''' <summary>
|
||||||
''' Returns the Logger for the specified module
|
''' Returns the Logger for the specified module using event-properties
|
||||||
''' </summary>
|
''' </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>
|
''' <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()
|
Dim oClassName As String = GetClassFullName()
|
||||||
Return GetLogger(oClassName, ModuleName)
|
Return GetLogger(oClassName, ModuleName)
|
||||||
End Function
|
End Function
|
||||||
@ -340,7 +345,11 @@ Public Class LogConfig
|
|||||||
<DebuggerStepThrough()>
|
<DebuggerStepThrough()>
|
||||||
Public Function GetLogger(ClassName As String, ModuleName As String) As Logger
|
Public Function GetLogger(ClassName As String, ModuleName As String) As Logger
|
||||||
Dim oLogger = LogFactory.GetLogger(Of Logger)(ClassName)
|
Dim oLogger = LogFactory.GetLogger(Of Logger)(ClassName)
|
||||||
oLogger.ModuleName = ModuleName
|
|
||||||
|
If ModuleName IsNot Nothing Then
|
||||||
|
Return oLogger.WithProperty("ModuleName", $"-{ModuleName}")
|
||||||
|
End If
|
||||||
|
|
||||||
Return oLogger
|
Return oLogger
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
@ -431,7 +440,6 @@ Public Class LogConfig
|
|||||||
Private Sub AddDefaultRules(ByRef config As LoggingConfiguration)
|
Private Sub AddDefaultRules(ByRef config As LoggingConfiguration)
|
||||||
config.AddRuleForOneLevel(LogLevel.Error, TARGET_ERROR_EX)
|
config.AddRuleForOneLevel(LogLevel.Error, TARGET_ERROR_EX)
|
||||||
config.AddRuleForOneLevel(LogLevel.Fatal, 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.Warn, TARGET_DEFAULT)
|
||||||
config.AddRuleForOneLevel(LogLevel.Info, TARGET_DEFAULT)
|
config.AddRuleForOneLevel(LogLevel.Info, TARGET_DEFAULT)
|
||||||
End Sub
|
End Sub
|
||||||
|
|||||||
@ -2,70 +2,7 @@
|
|||||||
|
|
||||||
Public Class Logger
|
Public Class Logger
|
||||||
Inherits NLog.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()>
|
<DebuggerStepThrough()>
|
||||||
Public Sub NewBlock(blockId As String)
|
Public Sub NewBlock(blockId As String)
|
||||||
Dim message As String = $"-----> Start of Block {blockId}"
|
Dim message As String = $"-----> Start of Block {blockId}"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user