CREATE TABLE [dbo].[Log] ( 
              [ID] [int] IDENTITY (1, 1) NOT NULL ,
              [Date] [datetime] NOT NULL ,
              [Thread] [varchar] (255) NOT NULL ,
              [Level] [varchar] (20) NOT NULL ,
              [Logger] [varchar] (255) NOT NULL ,
              [Message] [varchar] (4000) NOT NULL 
            ) ON [PRIMARY]
            
            
            
              
                 
              
                 
              
                 
              
                 
              
                 
             
            
            "DSN=MS Access Database;UID=admin;PWD=;SystemDB=C:\data\System.mdw;SafeTransactions = 0;FIL=MS Access;DriverID = 25;DBQ=C:\data\train33.mdb"
            "Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\Work\cvs_root\log4net-1.2\access.mdb;UID=;PWD=;"
            "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Work\cvs_root\log4net-1.2\access.mdb;User Id=;Password=;"
            System.Data.OleDb.OleDbConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
            System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
            Microsoft.Data.Odbc.OdbcConnection,Microsoft.Data.Odbc,version=1.0.3300.0,publicKeyToken=b77a5c561934e089,culture=neutral
            This is an optional package that you can download from 
            http://msdn.microsoft.com/downloads 
            search for ODBC .NET Data Provider.
            System.Data.OracleClient.OracleConnection, System.Data.OracleClient, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
            This is an optional package that you can download from 
            http://msdn.microsoft.com/downloads 
            search for .NET Managed Provider for Oracle.
            
            
            	 
            
            	 
            
            
            
            	 
            
            	 
            
            
            <mapping>
            	<level value="ERROR" />
            	<eventLogEntryType value="Error" />
            </mapping>
            <mapping>
            	<level value="DEBUG" />
            	<eventLogEntryType value="Information" />
            </mapping>
            
            
            
            
            
            
            	 
            
            	 
            
            	 
            
            	 
            
            
            
                 
            
            
             IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 0);
             UdpClient udpClient;
             byte[] buffer;
             string loggingEvent;
             
             try 
             {
                 udpClient = new UdpClient(8080);
                 
                 while(true) 
                 {
                     buffer = udpClient.Receive(ref remoteEndPoint);
                     loggingEvent = System.Text.Encoding.Unicode.GetString(buffer);
                     Console.WriteLine(loggingEvent);
                 }
             } 
             catch(Exception e) 
             {
                 Console.WriteLine(e.ToString());
             }
             
             
             Dim remoteEndPoint as IPEndPoint
             Dim udpClient as UdpClient
             Dim buffer as Byte()
             Dim loggingEvent as String
             
             Try 
                 remoteEndPoint = new IPEndPoint(IPAddress.Any, 0)
                 udpClient = new UdpClient(8080)
            
                 While True
                     buffer = udpClient.Receive(ByRef remoteEndPoint)
                     loggingEvent = System.Text.Encoding.Unicode.GetString(buffer)
                     Console.WriteLine(loggingEvent)
                 Wend
             Catch e As Exception
                 Console.WriteLine(e.ToString())
             End Try
             
             
             
                  
             
             
            using log4net.Config;
            using System.IO;
            using System.Configuration;
            
            ...
            
            DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"]));
            
            
            
            	
            		 
             
            
            
            using log4net.Config;
            using System.IO;
            using System.Configuration;
            
            ...
            
            DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"]));
            
            
            
            	
            		 
             
            
            
            
            	
            		
            	 
            	
            		log4net configuration XML goes here
            	 
             
            
            
            
            	
             
            
            
            using log4net.Config;
            using System.IO;
            using System.Configuration;
            
            ...
            
            XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"]));
            
            
            
            	
            		 
             
            
            
            
            	
             
            
            
            using log4net.Config;
            using System.IO;
            using System.Configuration;
            
            ...
            
            XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"]));
            
            
            
            	
            		 
             
            
            
            log.Debug("This is entry number: " + i );
            
            
            if (log.IsDebugEnabled())
            { 
             log.Debug("This is entry number: " + i );
            }
            
            
            GlobalContext.Properties["hostname"] = Environment.MachineName;
            
            
            ILog log = LogManager.GetLogger("application-log");
            
            log.Info("Application Start");
            log.Debug("This is a debug message");
            
            if (log.IsDebugEnabled)
            {
            	log.Debug("This is another debug message");
            }
            
            
            log.Debug("This is entry number: " + i );
            
            
            if (log.IsDebugEnabled)
            { 
                log.Debug("This is entry number: " + i );
            }
            
            
            private static readonly bool isDebugEnabled = log.IsDebugEnabled;
            
            
            if (isDebugEnabled)
            { 
                log.Debug("This is entry number: " + i );
            }
            
            
            StringWriter writer = new StringWriter();
            Layout.Format(writer, loggingEvent);
            string formattedEvent = writer.ToString();
            
            
            ILog log = LogManager.GetLogger(typeof(TestApp));
            log.Debug("Message 1");
            log.Warn("Message 2");   
            
            
            DEBUG [main]: Message 1
            WARN  [main]: Message 2  
            
            | Format modifier | left justify | minimum width | maximum width | comment | 
|---|---|---|---|---|
| %20logger | false | 20 | none |  | 
| %-20logger | true | 20 | none |  | 
| %.30logger | NA | none | 30 |  | 
| false | 20 | 30 |  | |
| %-20.30logger | true | 20 | 30 |  | 
%timestamp [%thread] %level %logger %ndc - %message%newline
            %-6timestamp [%15.15thread] %-5level %30.30logger %ndc - %message%newline
            
            DEBUG - Hello world
            
            
             <?xml version="1.0" ?>
             
             <!DOCTYPE log4net:events SYSTEM "log4net-events.dtd" [<!ENTITY data SYSTEM "abc">]>
            
             <log4net:events version="1.2" xmlns:log4net="http://logging.apache.org/log4net/schemas/log4net-events-1.2>
                 &data;
             </log4net:events>
             
             
            LogicalThreadContext.Properties["user"] = userName;
            log.Info("This log message has a LogicalThreadContext Property called 'user'");
            
            
            using(LogicalThreadContext.Stacks["LDC"].Push("my context message"))
            {
            	log.Info("This log message has a LogicalThreadContext Stack message that includes 'my context message'");
            
            } // at the end of the using block the message is automatically popped 
            
            
            ILog log = LogManager.GetLogger("application-log");
            
            log.Info("Application Start");
            log.Debug("This is a debug message");
            
            if (log.IsDebugEnabled)
            {
            	log.Debug("This is another debug message");
            }
            
            
            using(NDC.Push("my context message"))
            {
            	... all log calls will have 'my context message' included ...
            
            } // at the end of the using block the message is automatically removed 
            
            
            using(log4net.NDC.Push("NDC_Message"))
            {
            	log.Warn("This should have an NDC message");
            }
            
            
            var someValue = "ExampleContext"
            using(log4net.NDC.PushFormat("NDC_Message {0}", someValue))
            {
            	log.Warn("This should have an NDC message");
            }
            
            
            ThreadContext.Properties["user"] = userName;
            log.Info("This log message has a ThreadContext Property called 'user'");
            
            
            using(ThreadContext.Stacks["NDC"].Push("my context message"))
            {
            	log.Info("This log message has a ThreadContext Stack message that includes 'my context message'");
            
            } // at the end of the using block the message is automatically popped 
            
            
            using log4net.Util;
            
            ILog log = LogManager.GetLogger("application-log");
            
            log.InfoExt("Application Start");
            log.DebugExt("This is a debug message");
            
            
            using(log4net.LogicalThreadContext.Stacks["NDC"].Push("Stack_Message"))
            {
            	log.Warn("This should have an ThreadContext Stack message");
            }
            
            
            
            	
            		 
             
            
            
            
            	
            		 
             
            
            
            string s = OptionConverter.SubstituteVariables("Value of key is ${key}.");
            
            
            string s = OptionConverter.SubstituteVariables("Value of nonExistentKey is [${nonExistentKey}]");
            
            
            {key1=value1, key2=value2, key3=value3}
            
            
            {key1=value1, key2=value2, key3=value3}
            
            
            using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message"))
            {
            	log.Warn("This should have an ThreadContext Stack message");
            }