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]


Reply via email to