Re: Newbie: Log4Net or MS Logging Application Block?

2007-10-28 Thread si
On 10/25/07, Michael Schall <[EMAIL PROTECTED]> wrote:
> We wrap log4net and have had no issues and we have a logger for each class.
> I have not swapped it out as your argument suggests, but I don't like to use
> any library directly.  It shields you not only from swapping out a library,
> but from breaking changes in the library you are wrapping.

Another way of doing it:
https://svn.castleproject.org/svn/castle/trunk/Services/Logging


Re: Newbie: Log4Net or MS Logging Application Block?

2007-10-24 Thread Michael Schall
We wrap log4net and have had no issues and we have a logger for each class.
I have not swapped it out as your argument suggests, but I don't like to use
any library directly.  It shields you not only from swapping out a library,
but from breaking changes in the library you are wrapping. Most of my
wrapper is below... Am I missing something?  I'm hopping this would allow me
to switch to say nLog if I wanted...

Public Interface ILogger

Sub Debug(ByVal format As String, ByVal ParamArray args() As Object)
Sub Info(ByVal format As String, ByVal ParamArray args() As Object)
Sub Warn(ByVal format As String, ByVal ParamArray args() As Object)
Sub [Error](ByVal format As String, ByVal ParamArray args() As
Object)
Sub Fatal(ByVal format As String, ByVal ParamArray args() As Object)

Sub Debug(ByVal format As String, ByVal exception As Exception,
ByVal ParamArray args() As Object)
Sub Info(ByVal format As String, ByVal exception As Exception, ByVal
ParamArray args() As Object)
Sub Warn(ByVal format As String, ByVal exception As Exception, ByVal
ParamArray args() As Object)
Sub [Error](ByVal format As String, ByVal exception As Exception,
ByVal ParamArray args() As Object)
Sub Fatal(ByVal format As String, ByVal exception As Exception,
ByVal ParamArray args() As Object)

ReadOnly Property IsDebugEnabled() As Boolean
ReadOnly Property IsInfoEnabled() As Boolean
ReadOnly Property IsWarnEnabled() As Boolean
ReadOnly Property IsErrorEnabled() As Boolean
ReadOnly Property IsFatalEnabled() As Boolean

End Interface

Public NotInheritable Class LogManager

Public Shared Sub Configure(ByVal configFile As FileInfo)

If configFile Is Nothing Then
Throw New System.ArgumentNullException("configFile")
End If

System.Diagnostics.EventLog.WriteEntry( _
 String.Format("{0}.LogManager",
Process.GetCurrentProcess.ProcessName), _
 String.Format("Configuring logging using configuration file
{0}", configFile.FullName))

log4net.Config.XmlConfigurator.ConfigureAndWatch(configFile)

GetLogger(GetType(LogManager)).Debug("Configured logging using
configuration file {0}", configFile.FullName)

End Sub

Public Shared Function GetLogger(ByVal type As System.Type) As
ILogger
Dim logger As log4net.ILog = _
 log4net.LogManager.GetLogger(
System.Reflection.Assembly.GetCallingAssembly(), type)
Return New Log4NetAdapter(logger)
End Function

End Class

Friend Class Log4NetAdapter
Implements ILogger

Private _inner As ILog

Friend Sub New(ByVal log4netLogger As ILog)
_inner = log4netLogger
End Sub

'Implement interface methods delegating to _inner

End Class

On 10/24/07, Owen Corpening <[EMAIL PROTECTED]> wrote:
>
>  I second that, but beyond "me-too", the only thing I need that I don't
> have currently is aspect-based logging or the equivalent. In general I have
> concluded that .net aspect technologies are not-there-yet.
>
>
>
> I want to be able to add logging at build or runtime, ideally for runtime
> I can just add a jar with some kind of config file to an existing app and
> get the logging I need …
>
>
>
> Obviously no amount of wrapping will even lead in such a direction …
>
>
>
> Or maybe just-in-time logging, where it will somehow without a performance
> penalty buffer the last bit of logging then when an exception happens start
> logging 5 minutes ago ….
>
>
>
> As for wrapping for "down the road" I have not seen many applications even
> make it down the road … they all keep getting rewritten or close to it as
> new technologies keep arriving … so log4net being the best-in-breed I say
> use it ….
>
>
>
> owen
>
>
>  ----------
>
> *From:* Peter Drier [mailto:[EMAIL PROTECTED]
> *Sent:* Wednesday, October 24, 2007 9:05 AM
> *To:* Log4NET User
> *Subject:* Re: Newbie: Log4Net or MS Logging Application Block?
>
>
>
> I've seen many people wrap log4net just so they could swap it out down the
> road..
>
> Doing that, you lose the context sensitivity of having a logger in each
> class..  one of log4net's greatest strengths..
>
> And I've never ever seen it actually replaced down the road..  It makes
> much more sense to create a custom appender to write to whatever system you
> need down the road, while still using log4net as the plumbing within your
> application.
>
> I'd advise HEAVILY against wrapping log4net to everyone.  You will be
> trading a strength for a sense of flexibility you'll never

RE: Newbie: Log4Net or MS Logging Application Block?

2007-10-24 Thread Owen Corpening
I second that, but beyond "me-too", the only thing I need that I don't have 
currently is aspect-based logging or the equivalent. In general I have 
concluded that .net aspect technologies are not-there-yet.

 

I want to be able to add logging at build or runtime, ideally for runtime I can 
just add a jar with some kind of config file to an existing app and get the 
logging I need ...

 

Obviously no amount of wrapping will even lead in such a direction ...

 

Or maybe just-in-time logging, where it will somehow without a performance 
penalty buffer the last bit of logging then when an exception happens start 
logging 5 minutes ago 

 

As for wrapping for "down the road" I have not seen many applications even make 
it down the road ... they all keep getting rewritten or close to it as new 
technologies keep arriving ... so log4net being the best-in-breed I say use it 


 

owen

 



From: Peter Drier [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, October 24, 2007 9:05 AM
To: Log4NET User
Subject: Re: Newbie: Log4Net or MS Logging Application Block?

 

I've seen many people wrap log4net just so they could swap it out down the 
road..  

Doing that, you lose the context sensitivity of having a logger in each class.. 
 one of log4net's greatest strengths..

And I've never ever seen it actually replaced down the road..  It makes much 
more sense to create a custom appender to write to whatever system you need 
down the road, while still using log4net as the plumbing within your 
application. 

I'd advise HEAVILY against wrapping log4net to everyone.  You will be trading a 
strength for a sense of flexibility you'll never actually use.

-Peter

On 10/23/07, shaeney <[EMAIL PROTECTED]> wrote:




José Joye wrote:
>
> However. in order not to be too hardly tight to log4net, we decided
> to build a facade to abstract the Logging framework. This was done in
> order to easily switch the logging framework we use behind the 
> scene.
>
> José
>

Thanks Jose, I had already decided to take that approach in case we wanted
to swap out the underlying framework at some point.

I am going to produce a test-bed app using both frameworks and see how I get 
on with both synchronous and asynchronous messaging. If I get time, I will
move onto logging from different AppDomains etc

Cheers,
Steve
--
View this message in context: 
http://www.nabble.com/Newbie%3A-Log4Net-or-MS-Logging-Application-Block--tf4669838.html#a13362856
Sent from the Log4net - Users mailing list archive at Nabble.com.

 



Re: Newbie: Log4Net or MS Logging Application Block?

2007-10-24 Thread Peter Drier
I've seen many people wrap log4net just so they could swap it out down the
road..

Doing that, you lose the context sensitivity of having a logger in each
class..  one of log4net's greatest strengths..

And I've never ever seen it actually replaced down the road..  It makes much
more sense to create a custom appender to write to whatever system you need
down the road, while still using log4net as the plumbing within your
application.

I'd advise HEAVILY against wrapping log4net to everyone.  You will be
trading a strength for a sense of flexibility you'll never actually use.

-Peter

On 10/23/07, shaeney <[EMAIL PROTECTED]> wrote:
>
>
>
>
> José Joye wrote:
> >
> > However. in order not to be too hardly tight to log4net, we decided
> > to build a facade to abstract the Logging framework. This was done in
> > order to easily switch the logging framework we use behind the
> > scene.
> >
> > José
> >
>
> Thanks Jose, I had already decided to take that approach in case we wanted
> to swap out the underlying framework at some point.
>
> I am going to produce a test-bed app using both frameworks and see how I
> get
> on with both synchronous and asynchronous messaging. If I get time, I will
> move onto logging from different AppDomains etc
>
> Cheers,
> Steve
> --
> View this message in context:
> http://www.nabble.com/Newbie%3A-Log4Net-or-MS-Logging-Application-Block--tf4669838.html#a13362856
> Sent from the Log4net - Users mailing list archive at Nabble.com.
>
>


Re: Newbie: Log4Net or MS Logging Application Block?

2007-10-23 Thread Mike Liddell




Hi,

it was just my back of the envelope guess at total working set usage
when I was considering the one-static-logger-per-code-class approach,
which was new to me at the time.

this was my thinking...
10K code classes is definitely an upper limit, and 100-1000 is probably
the common range.  I might also have some non-code-class loggers and so
I assumed that 10K in-memory logger instances is a reasonable upper
limit.  I haven't yet determined how big a log4net logger instance is,
but I though 100bytes for the string name and some ancillary items,
with references into a common hierarchy object that I presume isn't
particularly heavy for consumption.  I couldn't quickly think of a way
to determine the byte-count of of per-logger-instance data, and/or the
per-application data.  On these number I figured that at most 1MB would
be devoted to log4net data in a big app, which is totally fine.

Does anyone have some hard data - should I worry about memory footprint?

regards,
Mike.

Walden H. Leverich wrote:

  
  
  

  
  >
I personally have my own wrapper object that
includes a Logger instance and I create a 
  >static one of those per code class.  I am
budgeting
about 100bytes per instance at, say, 
  >10K classes max for 1MB working set usage.
I'm not sure
if this is accurate.
   
  I assume you mean 10K instances, not 10K
classes, that would
be one hell of a class library. J
  
   
  Assuming it is indeed instances then why are you
counting
bytes per instance? What instance data are you storing? We’ve gone with
the one logger instance per class via a static logger and since it’s
static it would not add any storage to the instance, right? What am I
missing?
   
  -Walden
   
  
  --
  
  Walden
H Leverich III
Tech Software
(516) 627-3800 x3051
  
  [EMAIL PROTECTED]
  http://www.TechSoftInc.com
  
  Quiquid
latine dictum sit altum viditur.
(Whatever is said in Latin seems profound.) 
   
  






Re: Newbie: Log4Net or MS Logging Application Block?

2007-10-23 Thread Peter Drier
I worked at a financial firm a few years back before the Logging Application
Block existed..  Microsoft came to us and asked us what we wanted next from
them in the area of Application Blocks..  Logging was one of the choices in
their potential near term plans..

Everyone in the room, including those from Microsoft, agreed that log4net
was so good that Microsoft should spend it's development time elsewhere.
Boy do I wish I had that on video..

A few months later, the Exceptions handling block came out..  Look under the
covers, it's the same pattern as log4net..  More months later, and their
logging block came out, looking nothing like log4net, or their exception
block..   We collectively went WTF, gave up on Microsoft doing anything
useful for the Wall Street / Finance community, and moved on..

log4net is still the primary logging mechanism for every dotnet app I've
touched in the last 5 years..   Nobody is using Application blocks on a
Front office trading platform to the best of my knowledge..

-Peter

shaeney wrote:
> > Hello all,
> > I have been asked to compare the Log4Net library with the Microsoft
> patterns
> > & practices Logging Application Block.
> >
> > I have searched this forum but can't find anyone who has asked this
> question
> > previously. I would have thought this is a common topic.
> >
> > Does anyone know if this type of side-by-side comparison has been done?
> I
> > know that both are very extensible, but I am interested in comparing the
> > core deliverables. In particular, I am interested in using either for
> both
> > Logging and Auditing purposes.
> >
> > Audit will require transactions, which is to say that the calling code
> needs
> > to know if the Audit message has been persisted or not before it can
> > continue.
> >
> > Cheers,
> > Steve
> >
>
>


RE: Newbie: Log4Net or MS Logging Application Block?

2007-10-23 Thread Walden H. Leverich
> I personally have my own wrapper object that includes a Logger
instance and I create a 

>static one of those per code class.  I am budgeting about 100bytes per
instance at, say, 

>10K classes max for 1MB working set usage. I'm not sure if this is
accurate.

 

I assume you mean 10K instances, not 10K classes, that would be one hell
of a class library. J 

 

Assuming it is indeed instances then why are you counting bytes per
instance? What instance data are you storing? We've gone with the one
logger instance per class via a static logger and since it's static it
would not add any storage to the instance, right? What am I missing?

 

-Walden

 

-- 

Walden H Leverich III
Tech Software
(516) 627-3800 x3051

[EMAIL PROTECTED]
http://www.TechSoftInc.com
http://www.techsoftinc.com/> 

Quiquid latine dictum sit altum viditur.
(Whatever is said in Latin seems profound.) 

 



Re: Newbie: Log4Net or MS Logging Application Block?

2007-10-23 Thread shaeney



José Joye wrote:
> 
> However. in order not to be too hardly tight to log4net, we decided 
> to build a facade to abstract the Logging framework. This was done in 
> order to easily switch the logging framework we use behind the 
> scene.
> 
> José
> 

Thanks Jose, I had already decided to take that approach in case we wanted
to swap out the underlying framework at some point.

I am going to produce a test-bed app using both frameworks and see how I get
on with both synchronous and asynchronous messaging. If I get time, I will
move onto logging from different AppDomains etc

Cheers,
Steve
-- 
View this message in context: 
http://www.nabble.com/Newbie%3A-Log4Net-or-MS-Logging-Application-Block--tf4669838.html#a13362856
Sent from the Log4net - Users mailing list archive at Nabble.com.



Re: Newbie: Log4Net or MS Logging Application Block?

2007-10-23 Thread [EMAIL PROTECTED]
Here are my 2 cents:

About 1 year ago, we had to decide on the same topic. At that 
stage, based on quick tests and Web information, we decided to use 
log4net. By the way, ee also had the requirement of using it in 
Compact Framework.
Frankly, we never regreted our choice :-)

However. in order not to be too hardly tight to log4net, we decided 
to build a facade to abstract the Logging framework. This was done in 
order to easily switch the logging framework we use behind the 
scene.

José

Message d'origine
De: [EMAIL PROTECTED]
Date: 23.10.2007 10:31
À: 
Objet: Re: Newbie: Log4Net or MS Logging Application Block?


Thanks Mike, thats some good info.

I am going to knock up proof of concepts using both frameworks and 
see what
I get...

-- 
View this message in context: http://www.nabble.com/Newbie%3A-
Log4Net-or-MS-Logging-Application-Block--tf4669838.html#a13359569
Sent from the Log4net - Users mailing list archive at Nabble.com.






Re: Newbie: Log4Net or MS Logging Application Block?

2007-10-23 Thread shaeney

Thanks Mike, thats some good info.

I am going to knock up proof of concepts using both frameworks and see what
I get...

-- 
View this message in context: 
http://www.nabble.com/Newbie%3A-Log4Net-or-MS-Logging-Application-Block--tf4669838.html#a13359569
Sent from the Log4net - Users mailing list archive at Nabble.com.



Re: Newbie: Log4Net or MS Logging Application Block?

2007-10-23 Thread Mike Liddell




I am not a log4net expert... so please consult others too and do your
own investigation.

:: Category vs. log4net filtering
- Category is a flat filter rule.  log4net hierarchy is much more
powerful.  for additional filtering on other attributes, add info to
the properties and/or stacks and filter on them.

- Only use named properties where they are globally relevant as you
have to type them verbatim into your configs.
- Use a generic property bag otherwise, eg Property{Tags} rather than
Property{TagA} + Property{TagB}

Important notes:
 - for adding custom properties and stacks that are simple data, not
thread-state etc, you must avoid using the ThreadContext approach even
though it is the obvious first attempt. It is incredibly slow. eg 10K
logs/second rather than say 1million logs/second.  rather, use a
wrapper that performs log.Logger.Log( manualLogEvent).

- also, follow the pattern of creating a static Logger instance once
per unit (and their recommendation of one per class seems sound and
that is what I am using).  it is far too expensive to instantiate a
Logger for every log() call.  I personally have my own wrapper object
that includes a Logger instance and I create a static one of those per
code class.  I am budgeting about 100bytes per instance at, say, 10K
classes max for 1MB working set usage. I'm not sure if this is accurate.

- use Text or Property filters to perform filtering on your custom
property

:: MSMQ
I don't currently have a need for MSMQ appender.  I expect someone
already has made it.  If the EntLib one is not too tricky, you would be
able to reproduce it quickly by extending AppenderSkeleton.

:: Async
Log4net is synchronous too.  I'm not sure if there is asynch for normal
targets.


hope it helps,

Mike.

shaeney wrote:

  OK, that very good information.

I see that the MS Logging Application Block (LAB) allows messages to be
routed based on "Category" and each message contains a collection of
name-value pairs of meta data.

What is the corresponding Log4Net technology? From what little I have seen,
messages are routed based on Class Type?

I think that LAB is synchronous by default, with asnyc comms achieved via
MSMQ, but Log4Net is async by default?

Cheers,
Steve


Mike Liddell wrote:
  
  

For my purposes, Log4net is better in every respect.  I wish I knew this 
two years ago.

I am the architect for a medium-sized distributed project that is 
perhaps in the 200-300K lines category.  We started with EntLib logging 
but never really enjoyed it - the configs and the lack of built-in 
filtering options was limiting.  During a recent comparison I also found 
the logging generation rate (eg max number of calls to Logger.Log() can 
be made, particularly when the messages are being filtered out and not 
delivered anywhere) is unexpectedly slow.

To cut to the chase, I did a full side-by-side comparison and decided to 
ditch entlib logging in favour of log4net without any hesitation.  The 
primary considerations were:
- log generation rate. the raw speed of log4net is excellent
- hierarchical logging. and well implemented too.
- cleaner, much more extensible and obvious config format
- easier programmatic extensibility
- more built in log targets (ie the standard appenders)
- generally a much more _professional_ library.  Entlib is a good idea.

Every time I use log4net I am happily surprised.

cheers,
Mike Liddell

shaeney wrote:


  Hello all,
I have been asked to compare the Log4Net library with the Microsoft
patterns
& practices Logging Application Block.

I have searched this forum but can't find anyone who has asked this
question
previously. I would have thought this is a common topic.

Does anyone know if this type of side-by-side comparison has been done? I
know that both are very extensible, but I am interested in comparing the
core deliverables. In particular, I am interested in using either for
both
Logging and Auditing purposes. 

Audit will require transactions, which is to say that the calling code
needs
to know if the Audit message has been persisted or not before it can
continue.

Cheers,
Steve
  
  




  
  
  






Re: Newbie: Log4Net or MS Logging Application Block?

2007-10-23 Thread shaeney

OK, that very good information.

I see that the MS Logging Application Block (LAB) allows messages to be
routed based on "Category" and each message contains a collection of
name-value pairs of meta data.

What is the corresponding Log4Net technology? From what little I have seen,
messages are routed based on Class Type?

I think that LAB is synchronous by default, with asnyc comms achieved via
MSMQ, but Log4Net is async by default?

Cheers,
Steve


Mike Liddell wrote:
> 
> 
> For my purposes, Log4net is better in every respect.  I wish I knew this 
> two years ago.
> 
> I am the architect for a medium-sized distributed project that is 
> perhaps in the 200-300K lines category.  We started with EntLib logging 
> but never really enjoyed it - the configs and the lack of built-in 
> filtering options was limiting.  During a recent comparison I also found 
> the logging generation rate (eg max number of calls to Logger.Log() can 
> be made, particularly when the messages are being filtered out and not 
> delivered anywhere) is unexpectedly slow.
> 
> To cut to the chase, I did a full side-by-side comparison and decided to 
> ditch entlib logging in favour of log4net without any hesitation.  The 
> primary considerations were:
> - log generation rate. the raw speed of log4net is excellent
> - hierarchical logging. and well implemented too.
> - cleaner, much more extensible and obvious config format
> - easier programmatic extensibility
> - more built in log targets (ie the standard appenders)
> - generally a much more _professional_ library.  Entlib is a good idea.
> 
> Every time I use log4net I am happily surprised.
> 
> cheers,
> Mike Liddell
> 
> shaeney wrote:
>> Hello all,
>> I have been asked to compare the Log4Net library with the Microsoft
>> patterns
>> & practices Logging Application Block.
>>
>> I have searched this forum but can't find anyone who has asked this
>> question
>> previously. I would have thought this is a common topic.
>>
>> Does anyone know if this type of side-by-side comparison has been done? I
>> know that both are very extensible, but I am interested in comparing the
>> core deliverables. In particular, I am interested in using either for
>> both
>> Logging and Auditing purposes. 
>>
>> Audit will require transactions, which is to say that the calling code
>> needs
>> to know if the Audit message has been persisted or not before it can
>> continue.
>>
>> Cheers,
>> Steve
>>   
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Newbie%3A-Log4Net-or-MS-Logging-Application-Block--tf4669838.html#a13359076
Sent from the Log4net - Users mailing list archive at Nabble.com.



Re: Newbie: Log4Net or MS Logging Application Block?

2007-10-22 Thread Mike Liddell


For my purposes, Log4net is better in every respect.  I wish I knew this 
two years ago.


I am the architect for a medium-sized distributed project that is 
perhaps in the 200-300K lines category.  We started with EntLib logging 
but never really enjoyed it - the configs and the lack of built-in 
filtering options was limiting.  During a recent comparison I also found 
the logging generation rate (eg max number of calls to Logger.Log() can 
be made, particularly when the messages are being filtered out and not 
delivered anywhere) is unexpectedly slow.


To cut to the chase, I did a full side-by-side comparison and decided to 
ditch entlib logging in favour of log4net without any hesitation.  The 
primary considerations were:

- log generation rate. the raw speed of log4net is excellent
- hierarchical logging. and well implemented too.
- cleaner, much more extensible and obvious config format
- easier programmatic extensibility
- more built in log targets (ie the standard appenders)
- generally a much more _professional_ library.  Entlib is a good idea.

Every time I use log4net I am happily surprised.

cheers,
Mike Liddell

shaeney wrote:

Hello all,
I have been asked to compare the Log4Net library with the Microsoft patterns
& practices Logging Application Block.

I have searched this forum but can't find anyone who has asked this question
previously. I would have thought this is a common topic.

Does anyone know if this type of side-by-side comparison has been done? I
know that both are very extensible, but I am interested in comparing the
core deliverables. In particular, I am interested in using either for both
Logging and Auditing purposes. 


Audit will require transactions, which is to say that the calling code needs
to know if the Audit message has been persisted or not before it can
continue.

Cheers,
Steve
  




RE: Newbie: Log4Net or MS Logging Application Block?

2007-10-22 Thread Walden H. Leverich
> Audit will require transactions, which is to say that the calling code
needs
>to know if the Audit message has been persisted or not before it can
>continue.

>From the log4net FAQ on the Apache site:
"Is log4net a reliable logging system?"
"No. log4net is not reliable. It is a best-effort and fail-stop logging
system."

I don't love the use of the word "reliable" as everyone wants to use
something that's reliable, but the point of the statement is, IF
something fails in log4net it was designed to NOT stop the application
from running. Now, you could probably rework some of the plumbing, but I
think log4net is orthogonal to an audit log.

Having said that, you'll have to pry log4net out of my cold dead hands.
:) 

-Walden


-- 
Walden H Leverich III
Tech Software
(516) 627-3800 x3051
[EMAIL PROTECTED]
http://www.TechSoftInc.com

Quiquid latine dictum sit altum viditur.
(Whatever is said in Latin seems profound.)

-Original Message-
From: shaeney [mailto:[EMAIL PROTECTED] 
Sent: Monday, October 22, 2007 6:14 AM
To: log4net-user@logging.apache.org
Subject: Newbie: Log4Net or MS Logging Application Block?


Hello all,
I have been asked to compare the Log4Net library with the Microsoft
patterns
& practices Logging Application Block.

I have searched this forum but can't find anyone who has asked this
question
previously. I would have thought this is a common topic.

Does anyone know if this type of side-by-side comparison has been done?
I
know that both are very extensible, but I am interested in comparing the
core deliverables. In particular, I am interested in using either for
both
Logging and Auditing purposes. 

Audit will require transactions, which is to say that the calling code
needs
to know if the Audit message has been persisted or not before it can
continue.

Cheers,
Steve
-- 
View this message in context:
http://www.nabble.com/Newbie%3A-Log4Net-or-MS-Logging-Application-Block-
-tf4669838.html#a13339938
Sent from the Log4net - Users mailing list archive at Nabble.com.



Newbie: Log4Net or MS Logging Application Block?

2007-10-22 Thread shaeney

Hello all,
I have been asked to compare the Log4Net library with the Microsoft patterns
& practices Logging Application Block.

I have searched this forum but can't find anyone who has asked this question
previously. I would have thought this is a common topic.

Does anyone know if this type of side-by-side comparison has been done? I
know that both are very extensible, but I am interested in comparing the
core deliverables. In particular, I am interested in using either for both
Logging and Auditing purposes. 

Audit will require transactions, which is to say that the calling code needs
to know if the Audit message has been persisted or not before it can
continue.

Cheers,
Steve
-- 
View this message in context: 
http://www.nabble.com/Newbie%3A-Log4Net-or-MS-Logging-Application-Block--tf4669838.html#a13339938
Sent from the Log4net - Users mailing list archive at Nabble.com.