Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>I figured it out.. Sometimes, just writing it down opens your eyes...</p> <pre><code> var filter = new log4net.Filter.LoggerMatchFilter(); filter.LoggerToMatch = typeof(DatabaseDirectory).ToString(); filter.AcceptOnMatch = true; var filterDeny = new log4net.Filter.DenyAllFilter(); var x = new log4net.Appender.ConsoleAppender(); x.Layout = new log4net.Layout.SimpleLayout(); x.AddFilter(filter); x.AddFilter(filterDeny); log4net.Config.BasicConfigurator.Configure(x); </code></pre> <p>See what was missing :-) The denyALL filter!!</p> <p>Some more code examples:</p> <pre><code> public static void AllToConsoleSetup() { var x = new log4net.Appender.ConsoleAppender { Layout = new log4net.Layout.SimpleLayout() }; log4net.Config.BasicConfigurator.Configure(x); SetupDone = true; } public static void ShowOnlyLogOf(Type t) { var filter = new log4net.Filter.LoggerMatchFilter {LoggerToMatch = t.ToString(), AcceptOnMatch = true}; var filterDeny = new log4net.Filter.DenyAllFilter(); var x = new log4net.Appender.ConsoleAppender {Layout = new log4net.Layout.SimpleLayout()}; x.AddFilter(filter); x.AddFilter(filterDeny); log4net.Config.BasicConfigurator.Configure(x); SetupDone = true; } </code></pre> <p>Really UGLY but working (it screws up the highlighting, do not miss the last lines):</p> <pre><code> public static void DefaultSetup() { // AllToConsoleSetup(); XmlConfigurator.Configure(XmlSetup()); // DbConfig(); } private static Stream XmlSetup() { const string x = @" &lt;log4net&gt; &lt;root&gt; &lt;level value=""ALL"" /&gt; &lt;appender-ref ref=""AdoNetAppender""&gt; &lt;/appender-ref&gt; &lt;/root&gt; &lt;appender name=""AdoNetAppender"" type=""log4net.Appender.AdoNetAppender""&gt; &lt;bufferSize value=""1"" /&gt; &lt;connectionType value=""System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"" /&gt; &lt;connectionString value=""data source=Christian-PC\SQLEXPRESS;initial catalog=log4net_2;integrated security=false;persist security info=True;User ID=log4net;Password=XXXX"" /&gt; &lt;commandText value=""INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)"" /&gt; &lt;parameter&gt; &lt;parameterName value=""@log_date"" /&gt; &lt;dbType value=""DateTime"" /&gt; &lt;layout type=""log4net.Layout.RawTimeStampLayout"" /&gt; &lt;/parameter&gt; &lt;parameter&gt; &lt;parameterName value=""@thread"" /&gt; &lt;dbType value=""String"" /&gt; &lt;size value=""655"" /&gt; &lt;layout type=""log4net.Layout.PatternLayout""&gt; &lt;conversionPattern value=""%thread"" /&gt; &lt;/layout&gt; &lt;/parameter&gt; &lt;parameter&gt; &lt;parameterName value=""@log_level"" /&gt; &lt;dbType value=""String"" /&gt; &lt;size value=""50"" /&gt; &lt;layout type=""log4net.Layout.PatternLayout""&gt; &lt;conversionPattern value=""%level"" /&gt; &lt;/layout&gt; &lt;/parameter&gt; &lt;parameter&gt; &lt;parameterName value=""@logger"" /&gt; &lt;dbType value=""String"" /&gt; &lt;size value=""655"" /&gt; &lt;layout type=""log4net.Layout.PatternLayout""&gt; &lt;conversionPattern value=""%logger"" /&gt; &lt;/layout&gt; &lt;/parameter&gt; &lt;parameter&gt; &lt;parameterName value=""@message"" /&gt; &lt;dbType value=""String"" /&gt; &lt;size value=""4000"" /&gt; &lt;layout type=""log4net.Layout.PatternLayout""&gt; &lt;conversionPattern value=""%message"" /&gt; &lt;/layout&gt; &lt;/parameter&gt; &lt;parameter&gt; &lt;parameterName value=""@exception"" /&gt; &lt;dbType value=""String"" /&gt; &lt;size value=""2000"" /&gt; &lt;layout type=""log4net.Layout.ExceptionLayout"" /&gt; &lt;/parameter&gt; &lt;filter type=""log4net.Filter.LoggerMatchFilter""&gt; &lt;param name=""LoggerToMatch"" value=""Ruppert"" /&gt; &lt;/filter&gt; &lt;filter type=""log4net.Filter.DenyAllFilter""&gt; &lt;/filter&gt; &lt;/appender&gt; &lt;/log4net&gt;"; return new MemoryStream(ASCIIEncoding.Default.GetBytes(x)); } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload