« Return to Thread: NLog refactoring / cleanup / directions ideas

NLog refactoring / cleanup / directions ideas

by Jaroslaw_Kowalski :: Rate this Message:

Reply to Author | View in Thread

I am thinking of serious cleanup of NLog code base and build process to make
entire product easier to maintain in the future. This will form a basis of
NLog 2.0:

Here are the directions I'm thinking about:

1. Replace NDoc(which is essentially dead) with Sandcastle
(http://blogs.msdn.com/sandcastle/) for documentation generation.

2. Deprecate/Remove suppport .NET 1.x and .NET Compact Framework 1.x (NLog
1.0 will stay around to support older frameworks, I don't want legacy code
to remain there in NLog 2.0).

3. No more "universal" release (which was built with .NET 1.0 and used many
runtime tricks to detect and compensate for platform differences). Instead
targeted builds will be available for all frameworks.

4. Add generics to Logger (replace generated code with generic methods) -
will maintain source-level compatibility but will break IL-level
compatibility.

5. Move to a single build system (MSBuild). Remove NAnt, VS2003 and compact
framework projects. Some simple msbuild hackery will be used to produce
builds for all supported platforms.

6. Evaluate the possibility of using LINQ-style lambdas to do deferred
evaluation of layouts and/or log messages, something like:

for (int i = 0; i < 10; ++i)
{
    logger.Debug(()=> "asdasd" + i);     // lambda here will not be
evaluated if logging is disabled for Debug level.
}

Rationale: Many people still try to use string concatenation (which kills
performance) instead of String.Format-style when passing log messages.
Lambdas have the potential to make that easier while maitaining high speed.

7. Simplify website/documentation generation. Sandcastle may help here.

I would like to hear your comments - do you think the above list is
reasonable? What directions would you like NLog 2.x to evolve in?

Jarek


-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Nlog-list mailing list
Nlog-list@...
https://lists.sourceforge.net/lists/listinfo/nlog-list

 « Return to Thread: NLog refactoring / cleanup / directions ideas

LightInTheBox - Buy quality products at wholesale price!