Log4Net Configuration without XML in VB.NET

I want to present my code for configuring the excellent log4net logging system without the help of xml-files.

The code uses three Appenders, the database logging is done to a Postgres-DB using the free Devart Posgres library. I use the common property "Commandline" to log the command line parameters additionally.

Imports log4net
Imports log4net.Appender
Imports log4net.Repository
Imports log4net.Repository.Hierarchy
 
Public Class clsLoggerConfiguration
 
    Public Shared Sub initLogging()
        Dim l As log4net.Repository.Hierarchy.Logger
        Dim s As String
 
        Try
            s = String.Join(";", Environment.GetCommandLineArgs)
            log4net.GlobalContext.Properties.Item("Commandline") = s
 
            l = CType(LogManager.GetRepository, Hierarchy).Root
            l.AddAppender(myGetColoredConsoleAppender())
            l.AddAppender(myGetRollingFileAppender())
            l.AddAppender(myGetAdoNetAppender())
            l.Repository.Configured = True
        Catch ex As Exception
            myErrorHandler(ex)
        End Try
 
    End Sub
 
    Private Shared Function myGetAdoNetAppender() As AdoNetAppender
        Dim lAppender As AdoNetAppender = Nothing
        Dim sSQL As String
        Dim p As AdoNetAppenderParameter
 
        Try
            sSQL = "INSERT INTO applog ("
            sSQL &= "fld_date, "
            sSQL &= "fld_thread, "
            sSQL &= "fld_level, "
            sSQL &= "fld_logger, "
            sSQL &= "fld_message, "
            sSQL &= "fld_method, "
            sSQL &= "fld_class, "
            sSQL &= "fld_exception, "
            sSQL &= "fld_context, "
            sSQL &= "fld_pcname, "
            sSQL &= "fld_username, "
            sSQL &= "fld_startparameter "
            sSQL &= ") VALUES ("
            sSQL &= "@date, "
            sSQL &= "@thread, "
            sSQL &= "@level, "
            sSQL &= "@logger, "
            sSQL &= "@message, "
            sSQL &= "@method, "
            sSQL &= "@class, "
            sSQL &= "@exception, "
            sSQL &= "@context, "
            sSQL &= "@pcname, "
            sSQL &= "@username, "
            sSQL &= "@startparameter "
            sSQL &= ")"
 
            lAppender = New AdoNetAppender()
            lAppender.Name = "Database"
            lAppender.Threshold = log4net.Core.Level.Info
 
            lAppender.ConnectionString = g_DBLayer.getConnectionstring
            lAppender.ConnectionType = "Devart.Data.PostgreSql.PgSqlConnection, Devart.Data.PostgreSql, Version=4.55.37.0, Culture=neutral, PublicKeyToken=09af7300eec23701"
            lAppender.CommandText = sSQL
            lAppender.BufferSize = 1
 
            p = New AdoNetAppenderParameter
            p.ParameterName = "@date"
            p.DbType = DbType.DateTime
            p.Layout = New Layout.RawTimeStampLayout
            lAppender.AddParameter(p)
 
            p = New AdoNetAppenderParameter
            p.ParameterName = "@thread"
            p.DbType = DbType.String
            p.Size = 32
            p.Layout = New Layout.Layout2RawLayoutAdapter(New Layout.PatternLayout("%t"))
            lAppender.AddParameter(p)
 
            p = New AdoNetAppenderParameter
            p.ParameterName = "@level"
            p.DbType = DbType.String
            p.Size = 512
            p.Layout = New Layout.Layout2RawLayoutAdapter(New Layout.PatternLayout("%p"))
            lAppender.AddParameter(p)
 
            p = New AdoNetAppenderParameter
            p.ParameterName = "@logger"
            p.DbType = DbType.String
            p.Size = 512
            p.Layout = New Layout.Layout2RawLayoutAdapter(New Layout.PatternLayout("%c"))
            lAppender.AddParameter(p)
 
            p = New AdoNetAppenderParameter
            p.ParameterName = "@message"
            p.DbType = DbType.String
            p.Size = 4000
            p.Layout = New Layout.Layout2RawLayoutAdapter(New Layout.PatternLayout("%m"))
            lAppender.AddParameter(p)
 
            p = New AdoNetAppenderParameter
            p.ParameterName = "@method"
            p.DbType = DbType.String
            p.Size = 200
            p.Layout = New Layout.Layout2RawLayoutAdapter(New Layout.PatternLayout("%M"))
            lAppender.AddParameter(p)
 
            p = New AdoNetAppenderParameter
            p.ParameterName = "@class"
            p.DbType = DbType.String
            p.Size = 512
            p.Layout = New Layout.Layout2RawLayoutAdapter(New Layout.PatternLayout("%C{1}"))
            lAppender.AddParameter(p)
 
            p = New AdoNetAppenderParameter
            p.ParameterName = "@exception"
            p.DbType = DbType.String
            p.Size = 4000
            p.Layout = New Layout.Layout2RawLayoutAdapter(New Layout.ExceptionLayout)
            lAppender.AddParameter(p)
 
            p = New AdoNetAppenderParameter
            p.ParameterName = "@context"
            p.DbType = DbType.String
            p.Size = 512
            p.Layout = New Layout.Layout2RawLayoutAdapter(New Layout.PatternLayout("%x"))
            lAppender.AddParameter(p)
 
            p = New AdoNetAppenderParameter
            p.ParameterName = "@pcname"
            p.DbType = DbType.String
            p.Size = 512
            p.Layout = New Layout.Layout2RawLayoutAdapter(New Layout.PatternLayout("%property{log4net:HostName}"))
            lAppender.AddParameter(p)
 
            p = New AdoNetAppenderParameter
            p.ParameterName = "@username"
            p.DbType = DbType.String
            p.Size = 512
            p.Layout = New Layout.Layout2RawLayoutAdapter(New Layout.PatternLayout("%username"))
            lAppender.AddParameter(p)
 
            p = New AdoNetAppenderParameter
            p.ParameterName = "@startparameter"
            p.DbType = DbType.String
            p.Size = 512
            p.Layout = New Layout.Layout2RawLayoutAdapter(New Layout.PatternLayout("%property{Commandline}"))
            lAppender.AddParameter(p)
 
            lAppender.ActivateOptions()
        Catch ex As Exception
            myErrorHandler(ex)
        End Try
        Return lAppender
 
    End Function
 
    Private Shared Function myGetColoredConsoleAppender() As ColoredConsoleAppender
        Dim lAppender As ColoredConsoleAppender = Nothing
        Dim sLayout As String
        Dim m As Appender.ColoredConsoleAppender.LevelColors
 
        Try
            sLayout = "%date{dd-MM-yyyy HH:mm:ss,fff} %-5level %-30.30C{1} %-30.30M %m %exception %newline"
 
            lAppender = New ColoredConsoleAppender()
            lAppender.Name = "Console"
            lAppender.Layout = New log4net.Layout.PatternLayout(sLayout)
            lAppender.Threshold = log4net.Core.Level.All
 
            m = New Appender.ColoredConsoleAppender.LevelColors
            m.ForeColor = ColoredConsoleAppender.Colors.Red
            m.Level = log4net.Core.Level.Fatal
            lAppender.AddMapping(m)
 
            m = New Appender.ColoredConsoleAppender.LevelColors
            m.ForeColor = ColoredConsoleAppender.Colors.Red
            m.Level = log4net.Core.Level.Error
            lAppender.AddMapping(m)
 
            m = New Appender.ColoredConsoleAppender.LevelColors
            m.ForeColor = ColoredConsoleAppender.Colors.Yellow
            m.Level = log4net.Core.Level.Warn
            lAppender.AddMapping(m)
 
            m = New Appender.ColoredConsoleAppender.LevelColors
            m.ForeColor = ColoredConsoleAppender.Colors.Cyan
            m.Level = log4net.Core.Level.Info
            lAppender.AddMapping(m)
 
            m = New Appender.ColoredConsoleAppender.LevelColors
            m.ForeColor = ColoredConsoleAppender.Colors.Green
            m.Level = log4net.Core.Level.Debug
            lAppender.AddMapping(m)
 
            lAppender.ActivateOptions()
        Catch ex As Exception
            myErrorHandler(ex)
        End Try
        Return lAppender
 
    End Function
 
    Private Shared Function myGetRollingFileAppender() As RollingFileAppender
        Dim lAppender As RollingFileAppender = Nothing
        Dim sFile As String
        Dim sLayout As String
 
        Try
            sLayout = "%date{dd-MM-yyyy HH:mm:ss,fff} %-5level %-30.30C{1} %-30.30M %m %exception %newline"
 
            sFile = Application.StartupPath & "\Log\myLog.txt"
 
            lAppender = New RollingFileAppender()
            lAppender.Name = "RollingFile"
            lAppender.AppendToFile = True
            lAppender.File = sFile
            lAppender.Layout = New log4net.Layout.PatternLayout(sLayout)
            lAppender.Threshold = log4net.Core.Level.Info
            lAppender.RollingStyle = RollingFileAppender.RollingMode.Size
            lAppender.MaxSizeRollBackups = 10
            lAppender.MaximumFileSize = "1MB"
            lAppender.StaticLogFileName = True
            lAppender.ActivateOptions()
        Catch ex As Exception
            myErrorHandler(ex)
        End Try
        Return lAppender
 
    End Function
 
End Class

Comments wellcome!