Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to configure log4net programmatically from scratch (no config)
    primarykey
    data
    text
    <p>This is a Bad Idea, I know, but... I want to configure log4net programmatically from scratch with no config file. I'm working on a simple logging application for me and my team to use for a bunch of relatively small departmental applications we're responsible for. I want them to all log to the same database. The logging application is just a wrapper around log4net with the AdoNetAppender preconfigured.</p> <p>All of the applications are ClickOnce deployed, which presents a small problem with deploying the config file. If the config file were part of the core project, I could set its properties to deploy with the assembly. But it's part of a linked application, so I don't have the option of deploying it with the main application. (If that's not true, somebody please let me know).</p> <p>Probably because it's a Bad Idea, there doesn't seem to be much sample code available for programmatically configruating log4net from scratch. Here's what I have so far.</p> <pre><code>Dim apndr As New AdoNetAppender() apndr.CommandText = "INSERT INTO LOG_ENTRY (LOG_DTM, LOG_LEVEL, LOGGER, MESSAGE, PROGRAM, USER_ID, MACHINE, EXCEPTION) VALUES (@log_date, @log_level, @logger, @message, @program, @user, @machine, @exception)" apndr.ConnectionString = connectionString apndr.ConnectionType = "System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" apndr.CommandType = CommandType.Text Dim logDate As New AdoNetAppenderParameter() logDate.ParameterName = "@log_date" logDate.DbType = DbType.DateTime logDate.Layout = New RawTimeStampLayout() apndr.AddParameter(logDate) Dim logLevel As New AdoNetAppenderParameter() logLevel.ParameterName = "@log_level" 'And so forth... </code></pre> <p>After configuring all the parameters for <code>apndr</code>, I at first tried this...</p> <pre><code>Dim hier As Hierarchy = DirectCast(LogManager.GetRepository(), Hierarchy) hier.Root.AddAppender(apndr) </code></pre> <p>It didn't work. Then, as a shot in the dark, I tried this instead.</p> <pre><code>BasicConfigurator.Configure(apndr) </code></pre> <p>That didn't work either. Does anybody have any good references on how to configure log4net programmatically from scratch with no config file?</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload