Imports NLog

Public Class Logger
    Inherits NLog.Logger
    Implements ILogger

    ''' <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}"
        Dim logEventInfo As New LogEventInfo(LogLevel.Info, Name, message)
        Dim WrapperType As Type = GetType(Logger)

        Log(WrapperType, logEventInfo)
    End Sub

    <DebuggerStepThrough()>
    Public Sub EndBlock()
        Dim message As String = $"<----- End of Block"
        Dim logEventInfo As New LogEventInfo(LogLevel.Info, Name, message)
        Dim WrapperType As Type = GetType(Logger)

        Log(WrapperType, logEventInfo)
    End Sub
End Class
