Maybe a bit of history would help.

We had written our own logging framework a while back, prior to the launch of 
.NET.  It was a Windows only framework which under the covers used ETW (Event 
Trace for Windows), a very high performance logging mechanism which is used by 
the Windows kernel and other Microsoft products, like SQL Server.  Shortly 
after .NET was launched we created a managed interface for that.  That was 
running fine for 10+ years and is still running fine.

More recently we had the need to capture a specific type of event across many 
application in the enterprise.  While we could have attempted to use our 
existing logging framework we would have needed to extend it for a couple 

1. It was a Windows only framework and we would need to support both Windows 
and Java, the majority of Java applications running on Linux.

2.  It currently exposed a fixed set of events that could be raised.  This new 
event would have to be added to the fixed set or we would have had to open up 
the API and allow the consumer to specify their own schema.

3. It captured the events in a relational database.  We want to route this new 
event to an HDFS backend.

We decided to look at off the shelf logging frameworks instead of creating one 
of our own.  While there are several logging frameworks on the java side, 
log4j/log4j2 appeared to be the clear winner.  On the .NET side there was no 
"clear" winner.  We looked at System.Diagnostics (the logging/tracing classes 
provided by .NET), nlog, log4net and Enterprise Logging (the application 
block).  From that list only nlog and log4net were viable options.  One of the 
major issues people had with log4net was the fact that it appeared it had been 
abandoned, which I guess it was.  The 1.2.13 release had been out for more than 
2 years I think.  In fact, our .NET Center of Excellence team was recommending 
nlog for .NET and I think one of the main reasons for that was the lack of 
development on log4net.

There were a few things I liked about log4net.

* The fact that it was a port of log4j I saw as a benefit.  If I'm looking for 
a logging framework for both .net and java and I can get the same framework 
that works on both that's ideal.  It means both would roughly have the same or 
similar API and features.  Ideally the configuration is the same or similar for 

* I'm pretty sure I looked over the nlog api and didn't like it as much as the 
log4net api.

* I also liked, and thought was a key feature, the "logger" inheritance feature 
of both log4net and log4j(2).



From: Dominik Psenner <>
Sent: Tuesday, September 20, 2016 2:26 AM
Subject: Re: Apache log4net Needs Help

That's an interesting point. Would you mind to share your thoughts and reasons 
why you picked log4net over other logging frameworks beyond being a log4j port?

On 2016-09-20 01:30, Nicholas Duane wrote:

I can understand the breaking changes thing, but my impression is that straying 
from the log4j design is a bad idea.  What I think would be ideal is an apache 
logging architecture/design and then ports to java, log4j, and .NET, log4net.  
One of the big benefits I see is having "relatively" the same logging framework 
run on both major platforms.

The one reason we picked log4net is because we chose lo4j2 on java.  And having 
similar design was a benefit.  If we evaluated log4net on its own I'm not sure 
we would have picked it.



From: Walden H. Leverich 
Sent: Monday, September 19, 2016 3:49 PM
To: Log4NET User
Subject: RE: Apache log4net Needs Help

> Any chance that we'll get a log4net version which is a "port" of the latest 
> log4j2?

Maybe this is a discussion for the dev list, and granted I haven’t looked at 
what the changes are in log4j2, but my gut reaction is that a new port might be 
a bad idea. Yes, log4net started as a port of log4j (or at least that’s my 
understanding) but it’s a mature logging framework in its own right today with 
a huge user base and numerous production deployments. A new “port” sounds to me 
like it’s synonymous with breaking changes and that’s a colossally bad idea.

Are there things we can learn from the latest log4j2? Of course there are. 
Maybe there should be a log4net2 project? I don’t know. But whatever the 
evolution is of log4net it needs to be something that isn’t so revolutionary as 
to cause me to reevaluate my logging infrastructure.


Walden H Leverich III
(516) 627-3800 x3051<>

From: Nicholas Duane []
Sent: Wednesday, September 14, 2016 9:19 AM
To: Log4NET User 
Subject: Re: Apache log4net Needs Help

I had asked about this in the past and I figured I would ask again after seeing 
this mail.  Any chance that we'll get a log4net version which is a "port" of 
the latest log4j2?




From: Stefan Bodewig <<>>
Sent: Wednesday, September 14, 2016 12:32 AM
To: Log4NET User
Subject: Re: Apache log4net Needs Help


even though the official build system currently is NAnt, development
with your setup is supposed to work (if it doesn't, it is a bug).

The first thing you should do is to join the log4net-dev mailing list.

I think we need help in virtually any area - fixing bug, discussing
changes, documentation, testing ... you name it.

In general you pick what you want to work on, nobody is going to assign
work to anybody else. We are all doing this in our spare time and it is
supposed to be fun :-)

You may want to take a look at the JIRA issues to see whether you find
anything you'd like to work on. You know better than anybody else where
you can use your talent best - and what would be interesting to you.



On 2016-09-13, Shivinder Singh wrote:

> Hello,
> I use log4net too, but in Windows/IIS/Visual Studio environment. If there is 
> anything I can do let me know.

> Thanks,
> Shivinder Singh
>> 1-409-330-3608

>> From:<>
>> To:<>
>> Subject: Apache log4net Needs Help
>> CC:<>; 
>> Date: Tue, 6 Sep 2016 06:12:19 +0200

>> This is a general call-to-arms for everyone who uses log4net as their
>> logging solution. If log4net is the logging framework that you are
>> using and would like to keep using in the future it is time now to get
>> involved. The project needs a larger developing community to move on!
>> We really need more people who want to shape the future of log4net at
>> the Apache Software Foundation.

>> In all the time since log4net has been started by Nicko Cadell more
>> than ten years ago, there have never been more than two or three
>> people regularly contributing to it. As is normal in open source
>> projects people have come and gone when their interests or just the
>> amount of time they could invest have changed.

>> At the moment Dominik Psenner and Stefan Bodewig are the only people
>> semi-actively working on log4net and neither of them is able to devote
>> as much time to the project as they'd like to and as would be
>> required.

>> Realistically log4net is maintenance mode where development of new
>> features is not going to happen.

>> This has repeatedly made log4net lag behind recent developments in the
>> .NET world. It took a long time to get a version out that properly
>> worked with .NET 4.0 in 2011 and adaptions to .NET 4.5 also took much
>> longer than many users would have wished. We are seeing it again with
>> .NET Core right now. In addition there are many unresolved issues in
>> log4net's JIRA.

>> Despite this there are more than 2500 downloads of the logging
>> framework every day from nuget. We are asking you, the log4net
>> community, to get your hands dirty.

>> Right now we are in the process of creating a log4net release that
>> works for .NET Core. It is a very targeted effort and it is very
>> unlikely Dominik and Stefan will be able to contribute more in the
>> future than we did during the past months.

>> If you are willing to help, please join log4net's dev mailing list and
>> raise your hand. Look through log4net's issue tracker and pick things
>> you'd like to work on. If you don't know where to start, please ask,
>> Dominik and Stefan will be there to help.

>> If there is anything holding you back from contributing, let's discuss
>> it and get it out of the way. Nothing is carved into stone, neither
>> what the future of log4net holds nor how we make it happen.

>> Links

>> log4net's JIRA:

Log4net - ASF JIRA -<>

The Apache log4net library is a tool to help the programmer output log 
statements to a variety of output targets. log4net is a port of the excellent 
Apache log4j ...

>> dev mailing list:
>> How the ASF works:

Reply via email to