Author: dpsenner Date: Fri Nov 27 20:23:16 2015 New Revision: 1716912 URL: http://svn.apache.org/viewvc?rev=1716912&view=rev Log: LOG4NET-495: added buffering website test for the AdoNetAppender
Modified: logging/log4net/trunk/tests/src/Appender/AdoNetAppenderTest.cs Modified: logging/log4net/trunk/tests/src/Appender/AdoNetAppenderTest.cs URL: http://svn.apache.org/viewvc/logging/log4net/trunk/tests/src/Appender/AdoNetAppenderTest.cs?rev=1716912&r1=1716911&r2=1716912&view=diff ============================================================================== --- logging/log4net/trunk/tests/src/Appender/AdoNetAppenderTest.cs (original) +++ logging/log4net/trunk/tests/src/Appender/AdoNetAppenderTest.cs Fri Nov 27 20:23:16 2015 @@ -164,6 +164,99 @@ namespace log4net.Tests.Appender param = (IDbDataParameter)command.Parameters["@exception"]; Assert.IsEmpty((string)param.Value); + } + + [Test] + public void BufferingWebsiteExample() + { + XmlDocument log4netConfig = new XmlDocument(); + #region Load log4netConfig + log4netConfig.LoadXml(@" + <log4net> + <appender name=""AdoNetAppender"" type=""log4net.Appender.AdoNetAppender""> + <bufferSize value=""2"" /> + <connectionType value=""log4net.Tests.Appender.AdoNet.Log4NetConnection"" /> + <connectionString value=""data source=[database server];initial catalog=[database name];integrated security=false;persist security info=True;User ID=[user];Password=[password]"" /> + <commandText value=""INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)"" /> + <parameter> + <parameterName value=""@log_date"" /> + <dbType value=""DateTime"" /> + <layout type=""log4net.Layout.RawTimeStampLayout"" /> + </parameter> + <parameter> + <parameterName value=""@thread"" /> + <dbType value=""String"" /> + <size value=""255"" /> + <layout type=""log4net.Layout.PatternLayout""> + <conversionPattern value=""%thread"" /> + </layout> + </parameter> + <parameter> + <parameterName value=""@log_level"" /> + <dbType value=""String"" /> + <size value=""50"" /> + <layout type=""log4net.Layout.PatternLayout""> + <conversionPattern value=""%level"" /> + </layout> + </parameter> + <parameter> + <parameterName value=""@logger"" /> + <dbType value=""String"" /> + <size value=""255"" /> + <layout type=""log4net.Layout.PatternLayout""> + <conversionPattern value=""%logger"" /> + </layout> + </parameter> + <parameter> + <parameterName value=""@message"" /> + <dbType value=""String"" /> + <size value=""4000"" /> + <layout type=""log4net.Layout.PatternLayout""> + <conversionPattern value=""%message"" /> + </layout> + </parameter> + <parameter> + <parameterName value=""@exception"" /> + <dbType value=""String"" /> + <size value=""2000"" /> + <layout type=""log4net.Layout.ExceptionLayout"" /> + </parameter> + </appender> + <root> + <level value=""ALL"" /> + <appender-ref ref=""AdoNetAppender"" /> + </root> + </log4net>"); + #endregion + + ILoggerRepository rep = LogManager.CreateRepository(Guid.NewGuid().ToString()); + XmlConfigurator.Configure(rep, log4netConfig["log4net"]); + ILog log = LogManager.GetLogger(rep.Name, "WebsiteExample"); + + for (int i = 0; i < 3; i++) + { + log.Debug("Message"); + } + + IDbCommand command = Log4NetCommand.MostRecentInstance; + + Assert.AreEqual( + "INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)", + command.CommandText); + + Assert.AreEqual(6, command.Parameters.Count); + + IDbDataParameter param = (IDbDataParameter)command.Parameters["@message"]; + Assert.AreEqual("Message", param.Value); + + param = (IDbDataParameter)command.Parameters["@log_level"]; + Assert.AreEqual(Level.Debug.ToString(), param.Value); + + param = (IDbDataParameter)command.Parameters["@logger"]; + Assert.AreEqual("WebsiteExample", param.Value); + + param = (IDbDataParameter)command.Parameters["@exception"]; + Assert.IsEmpty((string)param.Value); } [Test]