<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:www.nabble.com,2006:forum-6167</id>
	<title>Nabble - NLog Forum</title>
	<updated>2008-07-03T04:51:38Z</updated>
	<link rel="self" type="application/atom+xml" href="http://www.nabble.com/NLog-Forum-f6167.xml" />
	<link rel="alternate" type="text/html" href="http://www.nabble.com/NLog-Forum-f6167.html" />
	<subtitle type="html">NLog - A .NET Logging Library</subtitle>
	
<entry>
	<id>tag:www.nabble.com,2006:post-18257529</id>
	<title>Server logging window..</title>
	<published>2008-07-03T04:51:38Z</published>
	<updated>2008-07-03T04:51:38Z</updated>
	<author>
		<name>Global0Inferno</name>
	</author>
	<content type="html">Hi, im trying to use a RichTextBox as a server logging window, to show what messages are being recieved from the clients and any important actions the server is taking...
&lt;br&gt;&lt;br&gt;Now I am making use of the different logging levels, Trace, Error, Fatal, etc.. But I want to be able to switch between the levels of output programmatically at runtime. Any idea's how to do this?
&lt;br&gt;&lt;br&gt;Also I am currently specifying a form that doesn't exist, so NLog is creating one, can I specify the start X &amp; Y coords along with size somehow when it is created?
&lt;br&gt;&lt;br&gt;Finally, the logging on the most &amp;quot;verbose&amp;quot; level, will log a LOT of data, for obvious reasons the string in the textbox could get VERY large.. I only really want to show/care about the most recent say... 300 logs. Is there any way in which I could add this functionality in?</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Server-logging-window..-tp18257529s6167p18257529.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18246987</id>
	<title>Re: Changing FileName programmatically</title>
	<published>2008-07-02T14:17:46Z</published>
	<updated>2008-07-02T14:17:46Z</updated>
	<author>
		<name>Segway Rod</name>
	</author>
	<content type="html">I did it this way
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; config = new LoggingConfiguration();
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FileTarget fileTarget = new FileTarget();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; config.AddTarget(&amp;quot;file&amp;quot;, fileTarget);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fileTarget.Layout = &amp;quot;${longdate}|${level}|${callsite}|${message}&amp;quot;;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fileTarget.FileName = String.Format(&amp;quot;${{basedir}}/{0}.log&amp;quot;, &lt;b&gt;filename&lt;/b&gt;);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LoggingRule rule = new LoggingRule(&amp;quot;*&amp;quot;, LogLevel.Debug, fileTarget);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; config.LoggingRules.Add(rule);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LogManager.Configuration = config;
&lt;br&gt;&lt;br&gt;where &lt;b&gt;filename&lt;/b&gt;&amp;nbsp;is passed into the method as a parameter
&lt;br&gt;&lt;br&gt;&lt;br&gt;Hope this is what you're looking for
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Changing-FileName-programmatically-tp16627800s6167p18246987.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18242743</id>
	<title>Nlog unhandled exception</title>
	<published>2008-07-02T10:25:53Z</published>
	<updated>2008-07-02T10:25:53Z</updated>
	<author>
		<name>ss_77</name>
	</author>
	<content type="html">Unhandled Exception: System.TypeInitializationException: The type initializer fo
&lt;br&gt;r 'AIVCombinator.Program' threw an exception. ---&amp;gt; NLog.Config.NLogConfiguration
&lt;br&gt;Exception: Exception occured when loading configuration from 'NLog.config' ---&amp;gt; System.ArgumentException: Target Mail not found.
&lt;br&gt;&amp;nbsp; &amp;nbsp;at NLog.TargetFactory.CreateTarget(String name)
&lt;br&gt;&amp;nbsp; &amp;nbsp;at NLog.Config.XmlLoggingConfiguration.ConfigureTargetsFromElement(XmlElement
&lt;br&gt;&amp;nbsp;element)
&lt;br&gt;&amp;nbsp; &amp;nbsp;at NLog.Config.XmlLoggingConfiguration.ConfigureFromXmlElement(XmlElement con
&lt;br&gt;figElement, String baseDirectory)
&lt;br&gt;&amp;nbsp; &amp;nbsp;at NLog.Config.XmlLoggingConfiguration.ConfigureFromFile(String fileName)
&lt;br&gt;&amp;nbsp; &amp;nbsp;at NLog.Config.XmlLoggingConfiguration..ctor(String fileName, Boolean ignoreE
&lt;br&gt;rrors)
&lt;br&gt;&lt;br&gt;&lt;br&gt;I got this exception while using nlog can anyone provide some information about this ASAP</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Nlog-unhandled-exception-tp18242743s6167p18242743.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18217111</id>
	<title>LayoutRenderer variable information in asp.net</title>
	<published>2008-07-01T07:41:09Z</published>
	<updated>2008-07-01T07:41:09Z</updated>
	<author>
		<name>RDot</name>
	</author>
	<content type="html">Hi -
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;How does one find the values nLog is using for special variables such as {$basedir}, ${asp-application}, etc? &amp;nbsp;Basically any of the variables defined at &lt;a href=&quot;http://www.nlog-project.org/layoutrenderers.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.nlog-project.org/layoutrenderers.html&lt;/a&gt;? 
&lt;br&gt;&lt;br&gt;&amp;nbsp;I'm in ASP.NET and would like to write out specific information to an aspx page to help troubleshoot.
&lt;br&gt;&lt;br&gt;&amp;nbsp; Thanks -</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/LayoutRenderer-variable-information-in-asp.net-tp18217111s6167p18217111.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18110764</id>
	<title>Re: Stopping/Starting NLog on runtime?</title>
	<published>2008-06-25T05:04:31Z</published>
	<updated>2008-06-25T05:04:31Z</updated>
	<author>
		<name>Gaborozzo</name>
	</author>
	<content type="html">I used the LogManager.DisableLogging() and LogManager.EnableLogging() functions to turn off and on logging. It works fine.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;Gabor
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Stopping-Starting-NLog-on-runtime--tp17147791s6167p18110764.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18110320</id>
	<title>Seperate or multiple Console type logging</title>
	<published>2008-06-25T04:39:25Z</published>
	<updated>2008-06-25T04:39:25Z</updated>
	<author>
		<name>Gaborozzo</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;&lt;br&gt;is it possible to write logs into seperate consoles ( as writing logs to seperate files )? I'd like to run my own console application and log events to another console window. Therefore i should start a new console and make it the target for NLog.
&lt;br&gt;Thank you!
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;Gabor</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Seperate-or-multiple-Console-type-logging-tp18110320s6167p18110320.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18110269</id>
	<title>Re: General	NLog Console Target in Windows Service</title>
	<published>2008-06-25T04:35:59Z</published>
	<updated>2008-06-25T04:35:59Z</updated>
	<author>
		<name>Gaborozzo</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;&lt;br&gt;thank you for your reply.
&lt;br&gt;Unfortunately changing the service compilation to Console Application instead of Windows Application did not help. There was no console output while the service was running.
&lt;br&gt;I changed the service to a console application and it works now.
&lt;br&gt;&lt;br&gt;Best Regards,
&lt;br&gt;Gabor</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/General%09NLog-Console-Target-in-Windows-Service-tp17574260s6167p18110269.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18051767</id>
	<title>Initial NLog v2 checkin (was Re: NLog refactoring / cleanup / directions ideas)</title>
	<published>2008-06-21T23:24:41Z</published>
	<updated>2008-06-21T23:24:41Z</updated>
	<author>
		<name>Jaroslaw_Kowalski</name>
	</author>
	<content type="html">Hi!
&lt;br&gt;&lt;br&gt;I've just created a new NLog2 branch and checked in first, very experimental 
&lt;br&gt;but pretty big refactoring and cleanup.
&lt;br&gt;&lt;br&gt;The code is at &lt;a href=&quot;http://svn.nlog-project.org/repos/nlog/branches/NLog2/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.nlog-project.org/repos/nlog/branches/NLog2/&lt;/a&gt;&lt;br&gt;The change can be viewer: 
&lt;br&gt;&lt;a href=&quot;http://svn.nlog-project.org/viewvc/viewvc.cgi?view=rev&amp;revision=511&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.nlog-project.org/viewvc/viewvc.cgi?view=rev&amp;revision=511&lt;/a&gt;&lt;br&gt;&lt;br&gt;There are several breaking changes in the API (although compensating for 
&lt;br&gt;them should be as simple as changing several using statements and using 
&lt;br&gt;generics instead of untyped collections in most cases).
&lt;br&gt;Configuration file format and option have remained unchanged (and I have no 
&lt;br&gt;plans to touch this area). As a result upgrading from NLog v1 should be 
&lt;br&gt;pretty smooth for users who are not using configuration API.
&lt;br&gt;Logging API should remain source-level compatible, but not IL-compatible. 
&lt;br&gt;There is one minor addition to allow lambdas to be specified to produce 
&lt;br&gt;deferred logging messages.
&lt;br&gt;&lt;br&gt;Code base has been reduced by 12% (down from 3879K to 3417K), mostly thanks 
&lt;br&gt;to using generics and other .NET 2.0 features which helper remove certain 
&lt;br&gt;pieces of generated code.
&lt;br&gt;We are now at revision 0x200 - seems like a good start for V2?
&lt;br&gt;&lt;br&gt;Please let me know what you think.
&lt;br&gt;&lt;br&gt;Jarek
&lt;br&gt;&lt;br&gt;Checkin comment:
&lt;br&gt;&lt;br&gt;* configuration-file-based usage remains unchanged
&lt;br&gt;* API refactored in many ways (some breaking changes)
&lt;br&gt;&amp;nbsp; &amp;nbsp; * moved certain classes from NLog namespace to NLog.Config, 
&lt;br&gt;NLog.Targets, NLog.Layouts, NLog.LayoutRenderers
&lt;br&gt;&amp;nbsp; &amp;nbsp; * renamed Layout to SimpleLayout
&lt;br&gt;&amp;nbsp; &amp;nbsp; * turned ILayout interface into Layout base class
&lt;br&gt;&amp;nbsp; &amp;nbsp; * removed CompiledLayout pattern all over the place
&lt;br&gt;&amp;nbsp; &amp;nbsp; * removed [AcceptsLayout] by replacing all string properties with actual 
&lt;br&gt;Layouts (added implicit conversion from string makes the usage clean)
&lt;br&gt;&amp;nbsp; &amp;nbsp; * removed [AcceptsCondition] by replacing all string properties with 
&lt;br&gt;ConditionExpression (added implicit conversion from string makes the usage 
&lt;br&gt;clean)
&lt;br&gt;&amp;nbsp; &amp;nbsp; * removed most of platform detection logic (will use conditional 
&lt;br&gt;compilation exclusively in v2)
&lt;br&gt;&amp;nbsp; &amp;nbsp; * removed NLog.*Factory classes and aggregated all factories 
&lt;br&gt;NLog.Config.NLogFactories using common interface
&lt;br&gt;&amp;nbsp; &amp;nbsp; * removed *Collection and *Dictionary classes and replaced them with 
&lt;br&gt;generics
&lt;br&gt;&amp;nbsp; &amp;nbsp; * public APIs that used to expose *Collection are now ICollection&amp;lt;T&amp;gt; or 
&lt;br&gt;IList&amp;lt;T&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; * refactored LogEventInfo into multiple classes for formatted and 
&lt;br&gt;unformatted events
&lt;br&gt;&amp;nbsp; &amp;nbsp; * added delayed evaluation delegate (LogMessageDelegate) and added 
&lt;br&gt;logging method overloads that accept it:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Usage (C# 3.0 using lambda syntax):
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;logger.Info(() =&amp;gt; &amp;quot;this is my message, x=&amp;quot; + x + &amp;quot;, y=&amp;quot; + y);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Usage (C# 2.0 using inline delegate syntax)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;logger.Info(delegate { return &amp;quot;this is my message, x=&amp;quot; + x + &amp;quot;, 
&lt;br&gt;y=&amp;quot; + y });
&lt;br&gt;&amp;nbsp; &amp;nbsp; * removed VS 2003 project files
&lt;br&gt;&amp;nbsp; &amp;nbsp; * regenerated Logger.cs to use generics
&lt;br&gt;* removed support for .NET 1.x and .NET CF 1.x and many hacks and 
&lt;br&gt;workarounds to support them
&lt;br&gt;&lt;br&gt;This is intermediate and somewhat experimental check-in in a separate 
&lt;br&gt;branch, some things are broken:
&lt;br&gt;&amp;nbsp; &amp;nbsp; * Documentation generation with NDoc is broken at this point - will be 
&lt;br&gt;replaced with Sandcastle
&lt;br&gt;&amp;nbsp; &amp;nbsp; * NAnt scripts are currently broken (use MSBuild 3.5). NAnt support will 
&lt;br&gt;most like be completely removed for V2
&lt;br&gt;&lt;br&gt;All unit tests are passing (using NUnit 2.4.7).
&lt;br&gt;&lt;br&gt;----- Original Message ----- 
&lt;br&gt;From: &amp;quot;Steve Wagner&amp;quot; &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18051767&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;lists@...&lt;/a&gt;&amp;gt;
&lt;br&gt;To: &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18051767&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;nlog-list@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Sent: Thursday, June 05, 2008 3:58 AM
&lt;br&gt;Subject: Re: [Nlog-list] NLog refactoring / cleanup / directions ideas
&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hallo Jaroslaw,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; first i have a suggestion. Currently there is a forum and a
&lt;br&gt;&amp;gt; Mailing-list. I for myself prefer Mailing lists instead of Forums
&lt;br&gt;&amp;gt; because i can read the messages in the style i like and not the style
&lt;br&gt;&amp;gt; the forum administrator prefer :-) So i suggest to go the mono way
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://go-mono.com/forums/#nabble-f1367&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://go-mono.com/forums/#nabble-f1367&lt;/a&gt;&amp;nbsp;and integrate the Mailing list
&lt;br&gt;&amp;gt; as Forum on the page. So there is only on source to communicate but two
&lt;br&gt;&amp;gt; way to do it.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Possibly it is also a good advice to move the project and homepage to
&lt;br&gt;&amp;gt; CodePlex and leave only the Mailinglist and Sourcecode on SF.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I also think this are all good ideas and hope to see this nice lib go
&lt;br&gt;&amp;gt; forward.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Steve
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Jaroslaw Kowalski schrieb:
&lt;br&gt;&amp;gt;&amp;gt; I am thinking of serious cleanup of NLog code base and build process to 
&lt;br&gt;&amp;gt;&amp;gt; make
&lt;br&gt;&amp;gt;&amp;gt; entire product easier to maintain in the future. This will form a basis 
&lt;br&gt;&amp;gt;&amp;gt; of
&lt;br&gt;&amp;gt;&amp;gt; NLog 2.0:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Here are the directions I'm thinking about:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 1. Replace NDoc(which is essentially dead) with Sandcastle
&lt;br&gt;&amp;gt;&amp;gt; (&lt;a href=&quot;http://blogs.msdn.com/sandcastle/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://blogs.msdn.com/sandcastle/&lt;/a&gt;) for documentation generation.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 2. Deprecate/Remove suppport .NET 1.x and .NET Compact Framework 1.x 
&lt;br&gt;&amp;gt;&amp;gt; (NLog
&lt;br&gt;&amp;gt;&amp;gt; 1.0 will stay around to support older frameworks, I don't want legacy 
&lt;br&gt;&amp;gt;&amp;gt; code
&lt;br&gt;&amp;gt;&amp;gt; to remain there in NLog 2.0).
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 3. No more &amp;quot;universal&amp;quot; release (which was built with .NET 1.0 and used 
&lt;br&gt;&amp;gt;&amp;gt; many
&lt;br&gt;&amp;gt;&amp;gt; runtime tricks to detect and compensate for platform differences). 
&lt;br&gt;&amp;gt;&amp;gt; Instead
&lt;br&gt;&amp;gt;&amp;gt; targeted builds will be available for all frameworks.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 4. Add generics to Logger (replace generated code with generic methods) -
&lt;br&gt;&amp;gt;&amp;gt; will maintain source-level compatibility but will break IL-level
&lt;br&gt;&amp;gt;&amp;gt; compatibility.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 5. Move to a single build system (MSBuild). Remove NAnt, VS2003 and 
&lt;br&gt;&amp;gt;&amp;gt; compact
&lt;br&gt;&amp;gt;&amp;gt; framework projects. Some simple msbuild hackery will be used to produce
&lt;br&gt;&amp;gt;&amp;gt; builds for all supported platforms.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 6. Evaluate the possibility of using LINQ-style lambdas to do deferred
&lt;br&gt;&amp;gt;&amp;gt; evaluation of layouts and/or log messages, something like:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; for (int i = 0; i &amp;lt; 10; ++i)
&lt;br&gt;&amp;gt;&amp;gt; {
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; logger.Debug(()=&amp;gt; &amp;quot;asdasd&amp;quot; + i); &amp;nbsp; &amp;nbsp; // lambda here will not be
&lt;br&gt;&amp;gt;&amp;gt; evaluated if logging is disabled for Debug level.
&lt;br&gt;&amp;gt;&amp;gt; }
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Rationale: Many people still try to use string concatenation (which kills
&lt;br&gt;&amp;gt;&amp;gt; performance) instead of String.Format-style when passing log messages.
&lt;br&gt;&amp;gt;&amp;gt; Lambdas have the potential to make that easier while maitaining high 
&lt;br&gt;&amp;gt;&amp;gt; speed.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 7. Simplify website/documentation generation. Sandcastle may help here.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I would like to hear your comments - do you think the above list is
&lt;br&gt;&amp;gt;&amp;gt; reasonable? What directions would you like NLog 2.x to evolve in?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; -------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Check out the new SourceForge.net Marketplace.
&lt;br&gt;&amp;gt; It's the best place to buy or sell services for
&lt;br&gt;&amp;gt; just about anything Open Source.
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://sourceforge.net/services/buy/index.php&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://sourceforge.net/services/buy/index.php&lt;/a&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Nlog-list mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18051767&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Nlog-list@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/nlog-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/nlog-list&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------
&lt;br&gt;Check out the new SourceForge.net Marketplace.
&lt;br&gt;It's the best place to buy or sell services for
&lt;br&gt;just about anything Open Source.
&lt;br&gt;&lt;a href=&quot;http://sourceforge.net/services/buy/index.php&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://sourceforge.net/services/buy/index.php&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Nlog-list mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=18051767&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Nlog-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/nlog-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/nlog-list&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NLog-list-f6194.html&quot; embed=&quot;fixTarget[6194]&quot; target=&quot;_top&quot; &gt;NLog-list&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/NLog-refactoring---cleanup---directions-ideas-tp17660984s6167p18051767.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18019817</id>
	<title>how to store log in database (oracle ) help me out plz</title>
	<published>2008-06-19T15:47:39Z</published>
	<updated>2008-06-19T15:47:39Z</updated>
	<author>
		<name>khubab</name>
	</author>
	<content type="html">when i store log in a file i add thz 
&lt;br&gt;Set &amp;nbsp;env.variable(NLOG_GLOBAL_CONFIG_FILE) as 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Right Click-&amp;gt; My Computer -&amp;gt; Properties -&amp;gt; Advanced -&amp;gt; Environment Variables 
&lt;br&gt;&lt;br&gt;i have database xml configuration file . 
&lt;br&gt;i want to ask u that for data base i have setvariable(NLOG_GLOBAL_CONFIG_database)
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/how-to-store-log-in-database-%28oracle-%29-help-me-out-plz-tp18019817s6167p18019817.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-18019632</id>
	<title>Re: how to store log in database(oracle) plz help me out</title>
	<published>2008-06-19T15:31:00Z</published>
	<updated>2008-06-19T15:31:00Z</updated>
	<author>
		<name>khubab</name>
	</author>
	<content type="html">when i store log in a file i add thz
&lt;br&gt;Set &amp;nbsp;env.variable(NLOG_GLOBAL_CONFIG_FILE) as
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Right Click-&amp;gt; My Computer -&amp;gt; Properties -&amp;gt; Advanced -&amp;gt; Environment Variables 
&lt;br&gt;&lt;br&gt;i have database xml configuration file .
&lt;br&gt;i want to ask u that for data base i have setvariable(NLOG_GLOBAL_CONFIG_database)</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/how-to-store-log-in-database%28oracle%29-plz-help-me-out-tp17916448s6167p18019632.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-17958404</id>
	<title>Re: how to store log in database(oracle) plz help me out</title>
	<published>2008-06-17T19:17:01Z</published>
	<updated>2008-06-17T19:17:01Z</updated>
	<author>
		<name>Jaroslaw_Kowalski</name>
	</author>
	<content type="html">Have you tried to use the config from this page?
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://www.nlog-project.org/target.Database.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.nlog-project.org/target.Database.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;There are actually two config files which were contributed by NLog users.</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/how-to-store-log-in-database%28oracle%29-plz-help-me-out-tp17916448s6167p17958404.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-17916448</id>
	<title>how to store log in database(oracle) plz help me out</title>
	<published>2008-06-17T08:40:28Z</published>
	<updated>2008-06-17T08:40:28Z</updated>
	<author>
		<name>khubab</name>
	</author>
	<content type="html">how to store log in database(oracle) plz help me out 
&lt;br&gt;as soon as possible my id is shah_khubab@yahoo.cm
&lt;br&gt;&lt;br&gt;regards
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; khubab.</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/how-to-store-log-in-database%28oracle%29-plz-help-me-out-tp17916448s6167p17916448.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-17865994</id>
	<title>Re: Performance Enhancements</title>
	<published>2008-06-16T07:38:36Z</published>
	<updated>2008-06-16T07:38:36Z</updated>
	<author>
		<name>Jake Milnes</name>
	</author>
	<content type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;&lt;div style=&quot;font-family:times new roman, new york, times, serif;font-size:12pt&quot;&gt;&lt;div style=&quot;font-family: times new roman,new york,times,serif; font-size: 12pt;&quot;&gt;Hello,&lt;br&gt;&lt;br&gt;For those interested, here is the patch for the below mentioned items.&lt;br&gt;&lt;br&gt;NLog-1.0\src\NLog\Targets\Wrappers\AsyncTargetWrapper.cs&lt;br&gt;208c208&lt;br&gt;&amp;lt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } while (_flushAll);&lt;br&gt;---&lt;br&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } while (_flushAll || RequestQueue.RequestCount &amp;gt; BatchSize);&lt;br&gt;&lt;br&gt;NLog-1.0\src\NLog\Win32\Targets\MSMQ.cs&lt;br&gt;189a190,224&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Writes the specified array of logging events to a queue specified in the Queue
 &lt;br&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// parameter.&lt;br&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;br&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name=&quot;logEvents&quot;&amp;gt;An array of &amp;lt;see cref=&quot;LogEventInfo &quot;/&amp;gt; objects.&amp;lt;/param&amp;gt;&lt;br&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;remarks&amp;gt;&lt;br&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// This function override increases performance of batches by not having to&lt;br&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// check the queues existence and connect to it for each logEvent.&lt;br&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/remarks&amp;gt;&lt;br&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected internal override void Write(LogEventInfo[] logEvents)&lt;br&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
 {&lt;br&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (_queue == null)&lt;br&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!MessageQueue.Exists(Queue))&lt;br&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (CreateQueueIfNotExists)&lt;br&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageQueue.Create(Queue);&lt;br&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
 return;&lt;br&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using (MessageQueue mq = new MessageQueue(Queue))&lt;br&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (LogEventInfo logEvent in logEvents)&lt;br&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Message msg = PrepareMessage(logEvent);&lt;br&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (msg !=
 null)&lt;br&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mq.Send(msg);&lt;br&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;/div&gt;&lt;br&gt;Thanks,&lt;br&gt;&lt;br&gt;Jake Milnes&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div style=&quot;font-family: times new roman,new york,times,serif; font-size: 12pt;&quot;&gt;----- Original Message ----&lt;br&gt;From: Jake Milnes
 &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=17865994&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jacob_milnes@...&lt;/a&gt;&amp;gt;&lt;br&gt;To: &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=17865994&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;nlog-list@...&lt;/a&gt;&lt;br&gt;Sent: Tuesday, June 3, 2008 10:24:25 AM&lt;br&gt;Subject: Performance Enhancements&lt;br&gt;&lt;br&gt;&lt;div style=&quot;font-family: times new roman,new york,times,serif; font-size: 12pt;&quot;&gt;&lt;div&gt;Hello,&lt;br&gt;&lt;br&gt;For a new project of ours, we looked at several different logging frameworks and decided on using NLog.&amp;nbsp; Thanks for making NLog great!&lt;br&gt;&lt;br&gt;We made a couple of minor performance enhancements to speed up our particular usage of NLog.&amp;nbsp; I would like to find out&amp;nbsp; if others are interested in these performance enhancements or if anyone sees any problems with these:&lt;br&gt;&lt;br&gt;1.&amp;nbsp; Added Write(LogEvent[]) override to the MSMQ class.&amp;nbsp; This removes the overhead of checking for the queue's existence, connecting and disconnecting for every insert if you are batching the inserts (e.g. through a buffered wrapper or async wrapper).&lt;br&gt;2.&amp;nbsp; Updated the Async wrapper class so that it doesn't
 go back to sleep after processing a callback if there are still enough items
 on the queue for a full batch.&lt;br&gt;&lt;br&gt;We did some decent performance testing benchmarks before and after, and saw significant gains in the applicable test cases (by roughly a factor of 5).&amp;nbsp; I can provide more detail on the performance test if someone is truly interested (the test results currently are not written up for release).&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;&lt;br&gt;Jake Milnes&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;&lt;br /&gt;-------------------------------------------------------------------------
&lt;br&gt;Check out the new SourceForge.net Marketplace.
&lt;br&gt;It's the best place to buy or sell services for
&lt;br&gt;just about anything Open Source.
&lt;br&gt;&lt;a href=&quot;http://sourceforge.net/services/buy/index.php&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://sourceforge.net/services/buy/index.php&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Nlog-list mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=17865994&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Nlog-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/nlog-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/nlog-list&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NLog-list-f6194.html&quot; embed=&quot;fixTarget[6194]&quot; target=&quot;_top&quot; &gt;NLog-list&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Re%3A-Performance-Enhancements-tp17865994s6167p17865994.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-17829409</id>
	<title>Re: exceptions problems..</title>
	<published>2008-06-13T11:18:31Z</published>
	<updated>2008-06-13T11:18:31Z</updated>
	<author>
		<name>danylive</name>
	</author>
	<content type="html">&lt;br&gt;&amp;lt;nlog xmlns=&amp;quot;&lt;a href=&quot;http://www.nlog-project.org/schemas/NLog.xsd&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.nlog-project.org/schemas/NLog.xsd&lt;/a&gt;&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; xmlns:xsi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XMLSchema-instance&lt;/a&gt;&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;lt;targets&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;target &amp;nbsp;name=&amp;quot;f1&amp;quot; xsi:type=&amp;quot;Chainsaw&amp;quot; &amp;nbsp;address=&amp;quot;udp://localhost:4000&amp;quot; layout=&amp;quot;${longdate} ${message} ${exception:format=tostring}&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;target name=&amp;quot;f2&amp;quot; xsi:type=&amp;quot;File&amp;quot; fileName=&amp;quot;mylogs.txt&amp;quot; layout=&amp;quot;${longdate} ${message} ${exception:format=tostring}/&amp;gt;&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;lt;/targets&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;lt;rules&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;logger name=&amp;quot;*&amp;quot; minlevel=&amp;quot;Debug&amp;quot; writeTo=&amp;quot;f1&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;lt;/rules&amp;gt;
&lt;br&gt;&amp;lt;/nlog&amp;gt;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Chainsaw-and-Exception-Problems-tp17812082s6167p17829409.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-17824888</id>
	<title>Re: Recommended roundrobin database and failover setup?</title>
	<published>2008-06-13T07:35:53Z</published>
	<updated>2008-06-13T07:35:53Z</updated>
	<author>
		<name>Jaroslaw_Kowalski</name>
	</author>
	<content type="html">That is not bad, but I'm not convinced that the performance will be much improved.
&lt;br&gt;In the WAN scenario the cost you're paying is probably the cost of network round-trip that is needed to execute each command.
&lt;br&gt;&lt;br&gt;It's not easy to optimize that, but you may want to have a database target that batches requests:
&lt;br&gt;instead of a single DbCommand that will be executed for each request, you will send multiple commands separated by semicolons. The reason why I'm saying it is not easy with parameters. You have to find a way to rewrite query string to use a different set of parameters for each log entry.
&lt;br&gt;&lt;br&gt;In your case you'll have to produce a query text like:
&lt;br&gt;&lt;br&gt;EXECUTE [LoggerDB].[dbo].[usp_InsertAppLog] @AppName1, @LogDate1, ..., @SerializedObject1;
&lt;br&gt;EXECUTE [LoggerDB].[dbo].[usp_InsertAppLog] @AppName2, @LogDate2, ..., @SerializedObject2;
&lt;br&gt;EXECUTE [LoggerDB].[dbo].[usp_InsertAppLog] @AppName3, @LogDate3, ..., @SerializedObject3;
&lt;br&gt;&lt;br&gt;EXECUTE [LoggerDB].[dbo].[usp_InsertAppLog] @AppNameN, @LogDateN, ..., @SerializedObjectN 
&lt;br&gt;&lt;br&gt;Note that the number of parameters will grow very quickly and you can easily exceed a protocol limit, so at some point you will have to flush whatever query you have built and send it down to the database.
&lt;br&gt;&lt;br&gt;I think that batching 10 inserts at a time should give you about 10x speedup (if network is the limiting factor). This won't scale linearly, so you should experiment with the number of batched commands.
&lt;br&gt;&lt;br&gt;I'm thinking of adding batching to future versions of NLog. In the meantime, feel free to make a copy of Database target (Database.cs) and add batching using the approach I described and experiment. I am very interested in the results you can achieve.</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Recommended-roundrobin-database-and-failover-setup--tp17810642s6167p17824888.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-17824552</id>
	<title>Re: Recommended roundrobin database and failover setup?</title>
	<published>2008-06-13T07:20:25Z</published>
	<updated>2008-06-13T07:20:25Z</updated>
	<author>
		<name>Jamison</name>
	</author>
	<content type="html">To clarify something. Each of the database targets is exactly the same. I did this so that NLog would use multiple connections. Is this good or bad?</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Recommended-roundrobin-database-and-failover-setup--tp17810642s6167p17824552.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-17824454</id>
	<title>Re: Recommended roundrobin database and failover setup?</title>
	<published>2008-06-13T07:15:32Z</published>
	<updated>2008-06-13T07:15:32Z</updated>
	<author>
		<name>Jamison</name>
	</author>
	<content type="html">Here are the details of the database target. It's in a dedicated logging database. The server is very powerful, but there is a WAN between my test machine and the database server.
&lt;br&gt;&lt;br&gt;&amp;lt;target xsi:type=&amp;quot;Database&amp;quot; keepConnection=&amp;quot;true&amp;quot; dbProvider=&amp;quot;sqlserver&amp;quot; dbHost=&amp;quot;xxxx&amp;quot; dbDatabase=&amp;quot;xxxx&amp;quot; dbUserName=&amp;quot;xxxx&amp;quot; dbPassword=&amp;quot;xxxx&amp;quot; &amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;commandText&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXECUTE [LoggerDB].[dbo].[usp_InsertAppLog]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @AppName
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ,@AppFilter
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ,@LogDate
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ,@Message
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ,@Level
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ,@Priority
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ,@UserName
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ,@UserIP
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ,@MachineIP
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ,@LogGuid
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ,@Details
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ,@SerializedObject
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/commandText&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;parameter name=&amp;quot;@AppName&amp;quot; layout=&amp;quot;${event-context:item=AppName}&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;parameter name=&amp;quot;@AppFilter&amp;quot; layout=&amp;quot;${event-context:item=AppFilter}&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;parameter name=&amp;quot;@LogDate&amp;quot; layout=&amp;quot;${event-context:item=LogDate}&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;parameter name=&amp;quot;@Message&amp;quot; layout=&amp;quot;${message}&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;parameter name=&amp;quot;@Level&amp;quot; layout=&amp;quot;${level:uppercase=true}&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;parameter name=&amp;quot;@Priority&amp;quot; layout=&amp;quot;${event-context:item=Priority}&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;parameter name=&amp;quot;@UserName&amp;quot; layout=&amp;quot;${event-context:item=UserName}&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;parameter name=&amp;quot;@UserIP&amp;quot; layout=&amp;quot;${event-context:item=UserIP}&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;parameter name=&amp;quot;@MachineIP&amp;quot; layout=&amp;quot;${event-context:item=MachineIP}&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;parameter name=&amp;quot;@LogGuid&amp;quot; layout=&amp;quot;${event-context:item=LogGUID}&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;parameter name=&amp;quot;@Details&amp;quot; layout=&amp;quot;${event-context:item=Details}&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;parameter name=&amp;quot;@SerializedObject&amp;quot; layout=&amp;quot;${event-context:item=SerializedObject}&amp;quot; /&amp;gt;
&lt;br&gt;&amp;lt;/target&amp;gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Recommended-roundrobin-database-and-failover-setup--tp17810642s6167p17824454.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-17823963</id>
	<title>Re: Recommended roundrobin database and failover setup?</title>
	<published>2008-06-13T06:53:47Z</published>
	<updated>2008-06-13T06:53:47Z</updated>
	<author>
		<name>Jaroslaw_Kowalski</name>
	</author>
	<content type="html">First approach is better, because you are defining each target only once. As a result, there will be one instance of an open file which is better than 3 file handles competing to write to the same file.
&lt;br&gt;&lt;br&gt;But if you want to have a separate file for each database - then go ahead with approach #2.
&lt;br&gt;&lt;br&gt;10 minutes/10K records - that is 1000 records per minute or 16 per second. That seems slow, but not that unusual if there is a network latency, database load, heavy indexes on the table or something similar.
&lt;br&gt;&lt;br&gt;Can you send details of your &amp;lt;Database&amp;gt; target setup, so that we can take a look?</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Recommended-roundrobin-database-and-failover-setup--tp17810642s6167p17823963.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-17823672</id>
	<title>Re: exceptions problems..</title>
	<published>2008-06-13T06:40:34Z</published>
	<updated>2008-06-13T06:40:34Z</updated>
	<author>
		<name>Jaroslaw_Kowalski</name>
	</author>
	<content type="html">Please send your config file. Looks like something is missing there.</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Chainsaw-and-Exception-Problems-tp17812082s6167p17823672.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-17812082</id>
	<title>Chainsaw and Exception Problems</title>
	<published>2008-06-12T16:39:39Z</published>
	<updated>2008-06-13T06:43:17Z</updated>
	<author>
		<name>danylive</name>
	</author>
	<content type="html">Hi, i am try to send my exceptions by upd with ChainSaw, if send log to file works ok but when i try to send by ChainSaw Upd i got this excepcion 
&lt;br&gt;&lt;br&gt;System.TypeInitializationException was unhandled
&lt;br&gt;&amp;nbsp; Message=&amp;quot;The type initializer for 'pruebalogg.Program' threw an exception.&amp;quot;
&lt;br&gt;&amp;nbsp; Source=&amp;quot;pruebalogg&amp;quot;
&lt;br&gt;&amp;nbsp; TypeName=&amp;quot;pruebalogg.Program&amp;quot;
&lt;br&gt;&amp;nbsp; StackTrace:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at pruebalogg.Program.Main(String[] args)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at System.Threading.ThreadHelper.ThreadStart()
&lt;br&gt;&amp;nbsp; InnerException: System.NullReferenceException
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Message=&amp;quot;Object reference not set to an instance of an object.&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Source=&amp;quot;NLog&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StackTrace:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at NLog.Targets.NLogViewerTarget.get_Renderer()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at NLog.Targets.NLogViewerTarget.get_IncludeSourceInfo()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at NLog.Targets.NLogViewerTarget.NeedsStackTrace()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at NLog.Internal.TargetWithFilterChain.PrecalculateNeedsStackTrace()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at NLog.LogFactory.GetTargetsByLevelForLogger(String name, LoggingRuleCollection rules, TargetWithFilterChain[] targetsByLevel, TargetWithFilterChain[] lastTargetsByLevel)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at NLog.LogFactory.GetTargetsByLevelForLogger(String name, LoggingRuleCollection rules, TargetWithFilterChain[] targetsByLevel, TargetWithFilterChain[] lastTargetsByLevel)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at NLog.LogFactory.GetConfigurationForLogger(String name, LoggingConfiguration config)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at NLog.LogFactory.GetLogger(LoggerCacheKey cacheKey)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at NLog.LogFactory.GetLogger(String name)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at NLog.LogManager.GetCurrentClassLogger()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at pruebalogg.Program..cctor() in C:\Users\Dany\Documents\Visual Studio 2008\Projects\pruebalogg\pruebalogg\Program.cs:line 11
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;InnerException: 
&lt;br&gt;&lt;br&gt;? Ideas ?</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Chainsaw-and-Exception-Problems-tp17812082s6167p17812082.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-17810642</id>
	<title>Recommended roundrobin database and failover setup?</title>
	<published>2008-06-12T15:01:31Z</published>
	<updated>2008-06-12T15:01:31Z</updated>
	<author>
		<name>Jamison</name>
	</author>
	<content type="html">My target structure is like this
&lt;br&gt;&lt;br&gt;&amp;lt;target name=&amp;quot;ApplicationTarget&amp;quot; xsi:type=&amp;quot;FallbackGroup&amp;quot; returnToFirstOnSuccess=&amp;quot;true&amp;quot; &amp;nbsp;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;target xsi:type=&amp;quot;RoundRobinGroup&amp;quot; &amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;target xsi:type=&amp;quot;Database&amp;quot; keepConnection=&amp;quot;true&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;target xsi:type=&amp;quot;Database&amp;quot; keepConnection=&amp;quot;true&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;target xsi:type=&amp;quot;Database&amp;quot; keepConnection=&amp;quot;true&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ..... (etc a copy for each separate connection)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/target&amp;gt; RoundRobinGroup
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;target name=&amp;quot;fileAppTarget&amp;quot; xsi:type=&amp;quot;File&amp;quot; /&amp;gt;
&lt;br&gt;&amp;lt;/target&amp;gt; FallbackGroup
&lt;br&gt;&lt;br&gt;So NLog should attempt to write to the database using 1 of 3 connections. If that fails it will write to the file system. Does this look right? Or should it be more like this?
&lt;br&gt;&lt;br&gt;&amp;lt;target name=&amp;quot;ApplicationTarget&amp;quot; xsi:type=&amp;quot;RoundRobinGroup&amp;quot; &amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;target xsi:type=&amp;quot;FallbackGroup&amp;quot; returnToFirstOnSuccess=&amp;quot;true&amp;quot; &amp;nbsp;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;target xsi:type=&amp;quot;Database&amp;quot; keepConnection=&amp;quot;true&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;target name=&amp;quot;fileAppTarget&amp;quot; xsi:type=&amp;quot;File&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/target&amp;gt; FallbackGroup
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;target xsi:type=&amp;quot;FallbackGroup&amp;quot; returnToFirstOnSuccess=&amp;quot;true&amp;quot; &amp;nbsp;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;target xsi:type=&amp;quot;Database&amp;quot; keepConnection=&amp;quot;true&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;target name=&amp;quot;fileAppTarget&amp;quot; xsi:type=&amp;quot;File&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/target&amp;gt; FallbackGroup
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;target xsi:type=&amp;quot;FallbackGroup&amp;quot; returnToFirstOnSuccess=&amp;quot;true&amp;quot; &amp;nbsp;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;target xsi:type=&amp;quot;Database&amp;quot; keepConnection=&amp;quot;true&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;target name=&amp;quot;fileAppTarget&amp;quot; xsi:type=&amp;quot;File&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/target&amp;gt; FallbackGroup
&lt;br&gt;&lt;br&gt;&amp;lt;/target&amp;gt; RoundRobinGroup
&lt;br&gt;&lt;br&gt;Also it's taking 10 minutes to write 10K test log entries using the database. Does this seem reasonable? Is there some NLog tuning I could do?
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;Jamison</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Recommended-roundrobin-database-and-failover-setup--tp17810642s6167p17810642.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-17803349</id>
	<title>Re: SQL Data Table Qusetion</title>
	<published>2008-06-12T08:53:22Z</published>
	<updated>2008-06-12T08:53:22Z</updated>
	<author>
		<name>Jamison</name>
	</author>
	<content type="html">Here's what I'm using. The table will support multiple applications. Columns are ordered by their likeliness to be searched on. Any critiques are welcome.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Create table [dbo].[Log]
&lt;br&gt;(
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [LogID] Bigint Identity NOT NULL,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [AppName] Varchar(50) NOT NULL,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [AppFilter] Varchar(100) NOT NULL,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [LogDate] Datetime NOT NULL,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [Message] Nvarchar(255) NOT NULL,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [Level] Varchar(5) NOT NULL,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [Priority] Tinyint NOT NULL,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [UserName] Varchar(100) NOT NULL,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [UserIP] Varchar(39) NOT NULL,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [MachineIP] Varchar(39) NOT NULL,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [LogEntered] Datetime Constraint [DF_Log_LogEntered] Default GetUtcDate() NOT NULL,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [LogGuid] Uniqueidentifier Constraint [DF_Log_LogGuid] Default NewID() NOT NULL, Constraint [UNQ_Log_LogGuid] UNIQUE ([LogGuid]),
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [Details] Ntext NOT NULL,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [SerializedObject] xml NOT NULL,
&lt;br&gt;Primary Key ([LogID])
&lt;br&gt;) </content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/SQL-Data-Table-Qusetion-tp16149617s6167p17803349.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-17764665</id>
	<title>Re: event-context needs more documentation</title>
	<published>2008-06-10T14:05:04Z</published>
	<updated>2008-06-10T14:05:04Z</updated>
	<author>
		<name>Jamison</name>
	</author>
	<content type="html">Remarks:
&lt;br&gt;&lt;br&gt;Use event-context to add runtime values to your log.
&lt;br&gt;&lt;br&gt;Example:
&lt;br&gt;&lt;br&gt;Within your application you must manually build the LogEventInfo object. This allows you to set the context variables.
&lt;br&gt;&lt;br&gt;dim theLog As NLog.Logger = NLog.LogManager.GetCurrentClassLogger()
&lt;br&gt;Dim theEvent As NLog.LogEventInfo
&lt;br&gt;theEvent = New NLog.LogEventInfo(LogLevel.Trace, &amp;quot;&amp;quot;, &amp;quot;This is my log message&amp;quot;)
&lt;br&gt;theEvent.Context(&amp;quot;CustomerID&amp;quot;) = 12345
&lt;br&gt;theEvent.Context(&amp;quot;CustomerName&amp;quot;) = &amp;quot;Acme, Inc.&amp;quot;
&lt;br&gt;theLog.Log(theEvent)
&lt;br&gt;&lt;br&gt;Now the event-context layout render gives you access to these values.
&lt;br&gt;&lt;br&gt;${event-context:item=CustomerID} -- produces &amp;quot;12345&amp;quot;
&lt;br&gt;${event-context:item=CustomerName} -- produces &amp;quot;Acme, Inc.&amp;quot;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/event-context-needs-more-documentation-tp17740567s6167p17764665.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-17740567</id>
	<title>event-context needs more documentation</title>
	<published>2008-06-09T13:02:02Z</published>
	<updated>2008-06-10T14:05:52Z</updated>
	<author>
		<name>Jamison</name>
	</author>
	<content type="html">I spent all morning looking for a way to add CustomerID, CustomerName, and etc to my logging. I finally stumbled on to &lt;a href=&quot;http://www.nabble.com/NLOG-with-Windows-Service-td11528674s6167.html&quot; target=&quot;_top&quot;&gt;this page&lt;/a&gt;. And realized event-context would handle what I needed.
&lt;br&gt;&lt;br&gt;My $0.02,
&lt;br&gt;Jamie
&lt;br&gt;&lt;br&gt;&lt;br&gt;Edit: I replied with possible text. Giving a little back. J</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/event-context-needs-more-documentation-tp17740567s6167p17740567.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-17705560</id>
	<title>Re: Nlog with Log2Console</title>
	<published>2008-06-06T22:46:09Z</published>
	<updated>2008-06-06T22:46:09Z</updated>
	<author>
		<name>Jaroslaw_Kowalski</name>
	</author>
	<content type="html">I haven't used Log2Console, but NLog has a target called Chainsaw (given that L2C is supposed to be compatible with Chainsaw you may want to give it a try).
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://www.nlog-project.org/target.Chainsaw.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.nlog-project.org/target.Chainsaw.html&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Nlog-with-Log2Console-tp17705324s6167p17705560.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-17705324</id>
	<title>Nlog with Log2Console</title>
	<published>2008-06-06T21:57:39Z</published>
	<updated>2008-06-06T21:57:39Z</updated>
	<author>
		<name>danylive</name>
	</author>
	<content type="html">Hi, i am new in Nlog i need configure Nlog with Log2Console.. ? 
&lt;br&gt;Ideas ?</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Nlog-with-Log2Console-tp17705324s6167p17705324.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-17700879</id>
	<title>Re: NLogViewer</title>
	<published>2008-06-06T13:48:37Z</published>
	<updated>2008-06-06T13:48:37Z</updated>
	<author>
		<name>danylive</name>
	</author>
	<content type="html">Log2Console &lt;a href=&quot;http://www.codeplex.com/log2console&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.codeplex.com/log2console&lt;/a&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/NLogViewer-tp13281815s6167p17700879.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-17685581</id>
	<title>Re: NLog refactoring / cleanup / directions ideas</title>
	<published>2008-06-05T23:39:13Z</published>
	<updated>2008-06-05T23:39:13Z</updated>
	<author>
		<name>KlaWill</name>
	</author>
	<content type="html">Hello Jaroslaw, Hello all others who reading this
&lt;br&gt;&lt;br&gt;First of all; Nlog is great and works very well
&lt;br&gt;Thanks Jaruslav!!
&lt;br&gt;&lt;br&gt;The only enemy of a good thing is a better thing.
&lt;br&gt;Therefore i have a few suggestions:
&lt;br&gt;&lt;br&gt;is it possible to make nlogviewer more complete ?
&lt;br&gt;(Have a look at tracetool. realy great for tracing, not so for logging)
&lt;br&gt;- logging complete objects 
&lt;br&gt;&lt;br&gt;The rest is said before, nothing to comment.
&lt;br&gt;For me it seem that all Ideas are making sens.
&lt;br&gt;&lt;br&gt;Best wishes
&lt;br&gt;Klaus&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NLog-list-f6194.html&quot; embed=&quot;fixTarget[6194]&quot; target=&quot;_top&quot; &gt;NLog-list&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/NLog-refactoring---cleanup---directions-ideas-tp17660984s6167p17685581.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-17667271</id>
	<title>Re: NLog refactoring / cleanup / directions ideas</title>
	<published>2008-06-05T03:58:56Z</published>
	<updated>2008-06-05T03:58:56Z</updated>
	<author>
		<name>Steve Wagner</name>
	</author>
	<content type="html">Hallo Jaroslaw,
&lt;br&gt;&lt;br&gt;first i have a suggestion. Currently there is a forum and a 
&lt;br&gt;Mailing-list. I for myself prefer Mailing lists instead of Forums 
&lt;br&gt;because i can read the messages in the style i like and not the style 
&lt;br&gt;the forum administrator prefer :-) So i suggest to go the mono way 
&lt;br&gt;&lt;a href=&quot;http://go-mono.com/forums/#nabble-f1367&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://go-mono.com/forums/#nabble-f1367&lt;/a&gt;&amp;nbsp;and integrate the Mailing list 
&lt;br&gt;as Forum on the page. So there is only on source to communicate but two 
&lt;br&gt;way to do it.
&lt;br&gt;&lt;br&gt;Possibly it is also a good advice to move the project and homepage to 
&lt;br&gt;CodePlex and leave only the Mailinglist and Sourcecode on SF.
&lt;br&gt;&lt;br&gt;I also think this are all good ideas and hope to see this nice lib go 
&lt;br&gt;forward.
&lt;br&gt;&lt;br&gt;Steve
&lt;br&gt;&lt;br&gt;Jaroslaw Kowalski schrieb:
&lt;br&gt;&amp;gt; I am thinking of serious cleanup of NLog code base and build process to make 
&lt;br&gt;&amp;gt; entire product easier to maintain in the future. This will form a basis of 
&lt;br&gt;&amp;gt; NLog 2.0:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Here are the directions I'm thinking about:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 1. Replace NDoc(which is essentially dead) with Sandcastle 
&lt;br&gt;&amp;gt; (&lt;a href=&quot;http://blogs.msdn.com/sandcastle/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://blogs.msdn.com/sandcastle/&lt;/a&gt;) for documentation generation.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 2. Deprecate/Remove suppport .NET 1.x and .NET Compact Framework 1.x (NLog 
&lt;br&gt;&amp;gt; 1.0 will stay around to support older frameworks, I don't want legacy code 
&lt;br&gt;&amp;gt; to remain there in NLog 2.0).
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 3. No more &amp;quot;universal&amp;quot; release (which was built with .NET 1.0 and used many 
&lt;br&gt;&amp;gt; runtime tricks to detect and compensate for platform differences). Instead 
&lt;br&gt;&amp;gt; targeted builds will be available for all frameworks.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 4. Add generics to Logger (replace generated code with generic methods) - 
&lt;br&gt;&amp;gt; will maintain source-level compatibility but will break IL-level 
&lt;br&gt;&amp;gt; compatibility.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 5. Move to a single build system (MSBuild). Remove NAnt, VS2003 and compact 
&lt;br&gt;&amp;gt; framework projects. Some simple msbuild hackery will be used to produce 
&lt;br&gt;&amp;gt; builds for all supported platforms.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 6. Evaluate the possibility of using LINQ-style lambdas to do deferred 
&lt;br&gt;&amp;gt; evaluation of layouts and/or log messages, something like:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; for (int i = 0; i &amp;lt; 10; ++i)
&lt;br&gt;&amp;gt; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; logger.Debug(()=&amp;gt; &amp;quot;asdasd&amp;quot; + i); &amp;nbsp; &amp;nbsp; // lambda here will not be 
&lt;br&gt;&amp;gt; evaluated if logging is disabled for Debug level.
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Rationale: Many people still try to use string concatenation (which kills 
&lt;br&gt;&amp;gt; performance) instead of String.Format-style when passing log messages. 
&lt;br&gt;&amp;gt; Lambdas have the potential to make that easier while maitaining high speed.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 7. Simplify website/documentation generation. Sandcastle may help here.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I would like to hear your comments - do you think the above list is 
&lt;br&gt;&amp;gt; reasonable? What directions would you like NLog 2.x to evolve in?
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------
&lt;br&gt;Check out the new SourceForge.net Marketplace.
&lt;br&gt;It's the best place to buy or sell services for
&lt;br&gt;just about anything Open Source.
&lt;br&gt;&lt;a href=&quot;http://sourceforge.net/services/buy/index.php&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://sourceforge.net/services/buy/index.php&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Nlog-list mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=17667271&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Nlog-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/nlog-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/nlog-list&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NLog-list-f6194.html&quot; embed=&quot;fixTarget[6194]&quot; target=&quot;_top&quot; &gt;NLog-list&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/NLog-refactoring---cleanup---directions-ideas-tp17660984s6167p17667271.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-17667208</id>
	<title>Re: NLog refactoring / cleanup / directions ideas</title>
	<published>2008-06-05T03:54:59Z</published>
	<updated>2008-06-05T03:54:59Z</updated>
	<author>
		<name>mattman206</name>
	</author>
	<content type="html">I think that all of these items are excellent ideas.&amp;nbsp; NLog is a great library and I&amp;#39;d hate to see it fade out of popularity because it hasn&amp;#39;t kept up.&amp;nbsp; Sure it hasn&amp;#39;t had any updates for the last year, but that&amp;#39;s because it didn&amp;#39;t need any.&amp;nbsp; The performance increases would be nice too.&lt;br&gt;
&lt;br&gt;Can we also get a VS2008 solution? :)&amp;nbsp; (Small thing, I know)&lt;br&gt;&lt;br&gt;I&amp;#39;m not sure if DocProject is quite ready for production use, but that might be something to look into.&lt;br&gt;&lt;a href=&quot;http://www.codeplex.com/DocProject&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.codeplex.com/DocProject&lt;/a&gt;&lt;br&gt;
&lt;br&gt;Irregardless of DocProject, the Sandcastle Help File Builder will be useful as it tries to duplicate the NDoc GUI.&lt;br&gt;&lt;a href=&quot;http://www.codeplex.com/SHFB&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.codeplex.com/SHFB&lt;/a&gt;&lt;br&gt;&lt;br&gt;I&amp;#39;ve done some similar changes on other projects and would love to help out with this.&amp;nbsp; Let me know :)&lt;br&gt;
&lt;br&gt;-Matt&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Wed, Jun 4, 2008 at 10:52 PM, Jaroslaw Kowalski &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=17667208&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jaak@...&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
I am thinking of serious cleanup of NLog code base and build process to make&lt;br&gt;
entire product easier to maintain in the future. This will form a basis of&lt;br&gt;
NLog 2.0:&lt;br&gt;
&lt;br&gt;
Here are the directions I&amp;#39;m thinking about:&lt;br&gt;
&lt;br&gt;
1. Replace NDoc(which is essentially dead) with Sandcastle&lt;br&gt;
(&lt;a href=&quot;http://blogs.msdn.com/sandcastle/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://blogs.msdn.com/sandcastle/&lt;/a&gt;) for documentation generation.&lt;br&gt;
&lt;br&gt;
2. Deprecate/Remove suppport .NET 1.x and .NET Compact Framework 1.x (NLog&lt;br&gt;
1.0 will stay around to support older frameworks, I don&amp;#39;t want legacy code&lt;br&gt;
to remain there in NLog 2.0).&lt;br&gt;
&lt;br&gt;
3. No more &amp;quot;universal&amp;quot; release (which was built with .NET 1.0 and used many&lt;br&gt;
runtime tricks to detect and compensate for platform differences). Instead&lt;br&gt;
targeted builds will be available for all frameworks.&lt;br&gt;
&lt;br&gt;
4. Add generics to Logger (replace generated code with generic methods) -&lt;br&gt;
will maintain source-level compatibility but will break IL-level&lt;br&gt;
compatibility.&lt;br&gt;
&lt;br&gt;
5. Move to a single build system (MSBuild). Remove NAnt, VS2003 and compact&lt;br&gt;
framework projects. Some simple msbuild hackery will be used to produce&lt;br&gt;
builds for all supported platforms.&lt;br&gt;
&lt;br&gt;
6. Evaluate the possibility of using LINQ-style lambdas to do deferred&lt;br&gt;
evaluation of layouts and/or log messages, something like:&lt;br&gt;
&lt;br&gt;
for (int i = 0; i &amp;lt; 10; ++i)&lt;br&gt;
{&lt;br&gt;
 &amp;nbsp; &amp;nbsp;logger.Debug(()=&amp;gt; &amp;quot;asdasd&amp;quot; + i); &amp;nbsp; &amp;nbsp; // lambda here will not be&lt;br&gt;
evaluated if logging is disabled for Debug level.&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
Rationale: Many people still try to use string concatenation (which kills&lt;br&gt;
performance) instead of String.Format-style when passing log messages.&lt;br&gt;
Lambdas have the potential to make that easier while maitaining high speed.&lt;br&gt;
&lt;br&gt;
7. Simplify website/documentation generation. Sandcastle may help here.&lt;br&gt;
&lt;br&gt;
I would like to hear your comments - do you think the above list is&lt;br&gt;
reasonable? What directions would you like NLog 2.x to evolve in?&lt;br&gt;
&lt;br&gt;
Jarek&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
-------------------------------------------------------------------------&lt;br&gt;
Check out the new SourceForge.net Marketplace.&lt;br&gt;
It&amp;#39;s the best place to buy or sell services for&lt;br&gt;
just about anything Open Source.&lt;br&gt;
&lt;a href=&quot;http://sourceforge.net/services/buy/index.php&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://sourceforge.net/services/buy/index.php&lt;/a&gt;&lt;br&gt;
_______________________________________________&lt;br&gt;
Nlog-list mailing list&lt;br&gt;
&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=17667208&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Nlog-list@...&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/nlog-list&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/nlog-list&lt;/a&gt;&lt;br&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
&lt;br /&gt;-------------------------------------------------------------------------
&lt;br&gt;Check out the new SourceForge.net Marketplace.
&lt;br&gt;It's the best place to buy or sell services for
&lt;br&gt;just about anything Open Source.
&lt;br&gt;&lt;a href=&quot;http://sourceforge.net/services/buy/index.php&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://sourceforge.net/services/buy/index.php&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Nlog-list mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=17667208&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Nlog-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/nlog-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/nlog-list&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NLog-list-f6194.html&quot; embed=&quot;fixTarget[6194]&quot; target=&quot;_top&quot; &gt;NLog-list&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/NLog-refactoring---cleanup---directions-ideas-tp17660984s6167p17667208.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-17662582</id>
	<title>Re: NLog in Asp.net 3.5</title>
	<published>2008-06-04T22:44:46Z</published>
	<updated>2008-06-04T22:44:46Z</updated>
	<author>
		<name>tody</name>
	</author>
	<content type="html">Now its working perfectly without restarting evertime, many thanks
&lt;br&gt;your tips are very helpfull for my.. &lt;img class='smiley' src='http://www.nabble.com/images/smiley/smiley_good.gif' /&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/NLog-in-Asp.net-3.5-tp17530024s6167p17662582.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-17660984</id>
	<title>NLog refactoring / cleanup / directions ideas</title>
	<published>2008-06-04T19:52:10Z</published>
	<updated>2008-06-04T19:52:10Z</updated>
	<author>
		<name>Jaroslaw_Kowalski</name>
	</author>
	<content type="html">I am thinking of serious cleanup of NLog code base and build process to make 
&lt;br&gt;entire product easier to maintain in the future. This will form a basis of 
&lt;br&gt;NLog 2.0:
&lt;br&gt;&lt;br&gt;Here are the directions I'm thinking about:
&lt;br&gt;&lt;br&gt;1. Replace NDoc(which is essentially dead) with Sandcastle 
&lt;br&gt;(&lt;a href=&quot;http://blogs.msdn.com/sandcastle/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://blogs.msdn.com/sandcastle/&lt;/a&gt;) for documentation generation.
&lt;br&gt;&lt;br&gt;2. Deprecate/Remove suppport .NET 1.x and .NET Compact Framework 1.x (NLog 
&lt;br&gt;1.0 will stay around to support older frameworks, I don't want legacy code 
&lt;br&gt;to remain there in NLog 2.0).
&lt;br&gt;&lt;br&gt;3. No more &amp;quot;universal&amp;quot; release (which was built with .NET 1.0 and used many 
&lt;br&gt;runtime tricks to detect and compensate for platform differences). Instead 
&lt;br&gt;targeted builds will be available for all frameworks.
&lt;br&gt;&lt;br&gt;4. Add generics to Logger (replace generated code with generic methods) - 
&lt;br&gt;will maintain source-level compatibility but will break IL-level 
&lt;br&gt;compatibility.
&lt;br&gt;&lt;br&gt;5. Move to a single build system (MSBuild). Remove NAnt, VS2003 and compact 
&lt;br&gt;framework projects. Some simple msbuild hackery will be used to produce 
&lt;br&gt;builds for all supported platforms.
&lt;br&gt;&lt;br&gt;6. Evaluate the possibility of using LINQ-style lambdas to do deferred 
&lt;br&gt;evaluation of layouts and/or log messages, something like:
&lt;br&gt;&lt;br&gt;for (int i = 0; i &amp;lt; 10; ++i)
&lt;br&gt;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; logger.Debug(()=&amp;gt; &amp;quot;asdasd&amp;quot; + i); &amp;nbsp; &amp;nbsp; // lambda here will not be 
&lt;br&gt;evaluated if logging is disabled for Debug level.
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;Rationale: Many people still try to use string concatenation (which kills 
&lt;br&gt;performance) instead of String.Format-style when passing log messages. 
&lt;br&gt;Lambdas have the potential to make that easier while maitaining high speed.
&lt;br&gt;&lt;br&gt;7. Simplify website/documentation generation. Sandcastle may help here.
&lt;br&gt;&lt;br&gt;I would like to hear your comments - do you think the above list is 
&lt;br&gt;reasonable? What directions would you like NLog 2.x to evolve in?
&lt;br&gt;&lt;br&gt;Jarek 
&lt;br&gt;&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------
&lt;br&gt;Check out the new SourceForge.net Marketplace.
&lt;br&gt;It's the best place to buy or sell services for
&lt;br&gt;just about anything Open Source.
&lt;br&gt;&lt;a href=&quot;http://sourceforge.net/services/buy/index.php&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://sourceforge.net/services/buy/index.php&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Nlog-list mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=17660984&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Nlog-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/nlog-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/nlog-list&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/NLog-list-f6194.html&quot; embed=&quot;fixTarget[6194]&quot; target=&quot;_top&quot; &gt;NLog-list&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/NLog-refactoring---cleanup---directions-ideas-tp17660984s6167p17660984.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-17660162</id>
	<title>Re: NLog in Asp.net 3.5</title>
	<published>2008-06-04T18:23:24Z</published>
	<updated>2008-06-04T18:23:24Z</updated>
	<author>
		<name>Jaroslaw_Kowalski</name>
	</author>
	<content type="html">Yes. That should help.</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/NLog-in-Asp.net-3.5-tp17530024s6167p17660162.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-17648023</id>
	<title>Re: NLog in Asp.net 3.5</title>
	<published>2008-06-04T07:25:48Z</published>
	<updated>2008-06-04T07:25:48Z</updated>
	<author>
		<name>tody</name>
	</author>
	<content type="html">no autoreload its not in !
&lt;br&gt;should i insert autoreload ?
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;
&lt;br&gt;&amp;lt;nlog xmlns=&amp;quot;&lt;a href=&quot;http://www.nlog-project.org/schemas/NLog.xsd&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.nlog-project.org/schemas/NLog.xsd&lt;/a&gt;&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; xmlns:xsi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XMLSchema-instance&lt;/a&gt;&amp;quot;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;targets&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/targets&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;rules&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/rules&amp;gt;
&lt;br&gt;&amp;lt;/nlog&amp;gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/NLog-in-Asp.net-3.5-tp17530024s6167p17648023.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-17647741</id>
	<title>Re: NLog in Asp.net 3.5</title>
	<published>2008-06-04T07:12:51Z</published>
	<updated>2008-06-04T07:12:51Z</updated>
	<author>
		<name>Jaroslaw_Kowalski</name>
	</author>
	<content type="html">Are you using autoReload=&amp;quot;true&amp;quot; at the top of your config file?
&lt;br&gt;&lt;br&gt;It should look like that:
&lt;br&gt;&lt;br&gt;&amp;lt;nlog autoReload=&amp;quot;true&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; ...
&lt;br&gt;&amp;lt;/nlog&amp;gt;
&lt;br&gt;&lt;br&gt;Without that, the only way to reload the configuration is to restart the application (which is exactly what happens when you re-deploy NLog.dll).</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/NLog-in-Asp.net-3.5-tp17530024s6167p17647741.html" />
</entry>

</feed>
