Hello,
I have configured an AdoNetAppender in code (see below). I do end up with a
record inserted into the table. The values inserted into the Date, Message
and Exception columns are correct. However, the Thread, Level and Logger
columns all contain the contents of "%message. If I use any of the other
appenders (such as FileAppender), all values are logged correctly.
I’ve been searching for a couple of hours now and cannot find where anyone
else has had this issue. Any help would be appreciated!
var dbAppender = new AdoNetAppender
{
Layout = layout,
BufferSize = 1,
ConnectionType = "System.Data.SqlClient.SqlConnection,
System.Data, Version=1.0.3300.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089",
ConnectionString = string.Format("data source='{0}';initial
catalog={1};integrated security=false;persist security info=True;User ID=
{2};Password={3}", dbConfig.ServerName, dbConfig.DatabaseName,
dbConfig.UserId, dbConfig.Password),
CommandText = "INSERT INTO Log ([Date],[Thread],[Level],
[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level,
@logger, @message, @exception)"
};
dbAppender.AddParameter(new AdoNetAppenderParameter {
ParameterName = "@log_date", DbType = DbType.DateTime, Layout = new
RawTimeStampLayout() });
dbAppender.AddParameter(new AdoNetAppenderParameter {
ParameterName = "@thread", DbType = DbType.String, Size = 255, Layout = new
Layout2RawLayoutAdapter(new PatternLayout { ConversionPattern = "%thread" })
});
dbAppender.AddParameter(new AdoNetAppenderParameter {
ParameterName = "@log_level", DbType = DbType.String, Size = 50, Layout =
new Layout2RawLayoutAdapter(new PatternLayout { ConversionPattern = "%level"
}) });
dbAppender.AddParameter(new AdoNetAppenderParameter {
ParameterName = "@logger", DbType = DbType.String, Size = 255, Layout = new
Layout2RawLayoutAdapter(new PatternLayout { ConversionPattern = "%logger" })
});
dbAppender.AddParameter(new AdoNetAppenderParameter {
ParameterName = "@message", DbType = DbType.String, Size = 4000, Layout =
new Layout2RawLayoutAdapter(new PatternLayout { ConversionPattern =
"%message" }) });
dbAppender.AddParameter(new AdoNetAppenderParameter {
ParameterName = "@exception", DbType = DbType.String, Size = 2000, Layout =
new Layout2RawLayoutAdapter(new ExceptionLayout()) });
dbAppender.ActivateOptions();
Thank you,
Brian