[ https://issues.apache.org/jira/browse/LOG4NET-538?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16150149#comment-16150149 ]
Simon Evieux commented on LOG4NET-538: -------------------------------------- Sorry... You are right... I have not been really careful when trying... here is what you should do : {code:java} // Some comments here virtual protected void SendBuffer(IDbTransaction dbTran, LoggingEvent[] events) // string.IsNotNullOrWhiteSpace() does not exist in ancient .NET frameworks if (CommandText != null && CommandText.Trim() != "") { using (IDbCommand dbCmd = Connection.CreateCommand()) { // Set the command string dbCmd.CommandText = CommandText; // Set the command type dbCmd.CommandType = CommandType; // Send buffer using the prepared command object if (dbTran != null) { dbCmd.Transaction = dbTran; } // clear parameters that have been set dbCmd.Parameters.Clear(); // Set the parameter values foreach (AdoNetAppenderParameter param in m_parameters) param.Prepare(dbCmd); // prepare the command, which is significantly faster dbCmd.Prepare(); // run for all events foreach (LoggingEvent e in events) { // Set the parameter values foreach (AdoNetAppenderParameter param in m_parameters) param.FormatValue(dbCmd, e); // Execute the query dbCmd.ExecuteNonQuery(); } } } {code} > AdoNetAppender to PostgreSQL > ---------------------------- > > Key: LOG4NET-538 > URL: https://issues.apache.org/jira/browse/LOG4NET-538 > Project: Log4net > Issue Type: Bug > Components: Appenders > Affects Versions: 1.2.15 > Environment: C# > Reporter: Cristian Margescu > Labels: patch > > I am using the AdoNetAppender to log audits to the database. I was using > until some time the 1.2.13 version with a configuration for MSSQL or > PostgreSQL which inserted practically data as json strings that will later be > interpreted by another tool using the following appender configuration. > EX: <appender name="NpgsqlAppender" type="log4net.Appender.AdoNetAppender"> > <filter type="log4net.Filter.LevelRangeFilter"> > <levelMin value="AUDIT" /> > <levelMax value="AUDIT" /> > </filter> > <bufferSize value="1"/> > <connectionType > value="Npgsql.NpgsqlConnection, Npgsql" /> > <connectionString > value="Server={myServer};Port=5432;Database={database};User > Id={myuser};Password={mypassword}" /> > <commandText value="INSERT INTO audit (message) VALUES (@message);" /> > <reconnectOnError value="true" /> > <useTransactions value="false"/> > <parameter> > <parameterName value="@message" /> > <dbType value="String" /> > <layout type="log4net.Layout.PatternLayout" > > <conversionPattern value="%message"/> > </layout> > </parameter> > </appender> > It worked great until I have updated to 1.2.15 and then we have noticed that > the PosgreSQL appender did not worked any more. After doing some research and > testing I have narrowed it down to the AdoNetAppender > that probably has a problem with the parameters because it shows a PG error > 47203 as column "message" not found. > -- This message was sent by Atlassian JIRA (v6.4.14#64029)