logging-log4net-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dominik Psenner" <dpsen...@gmail.com>
Subject RE: recommendation for AspNetPatternLayoutConverter
Date Mon, 30 Jul 2012 06:20:11 GMT
I created LOG4NET-350 [1] which reflects this issue.

 

[1]  <https://issues.apache.org/jira/browse/LOG4NET-350>
https://issues.apache.org/jira/browse/LOG4NET-350

 

  _____  

From: Dominik Psenner [mailto:dpsenner@gmail.com] 
Sent: Monday, July 30, 2012 8:08 AM
To: 'Log4NET Dev'
Subject: RE: recommendation for AspNetPatternLayoutConverter

 

No need to worry George. :-) Personally I prefer to stay on the bleeding
edge of development. Though, this issue is currently not a problem to me.
Would you try and get something done that is backwards compatible? I will
commit any useful patches.

 

Cheers

 

  _____  

From: George Chung [mailto:george@glympse.com] 
Sent: Monday, July 30, 2012 4:40 AM
To: Log4NET Dev
Subject: Re: recommendation for AspNetPatternLayoutConverter

 

Yes, I completely discounted backwards compatibility, sorry.

On Sun, Jul 29, 2012 at 2:13 PM, Dominik Psenner <dpsenner@gmail.com> wrote:

On 07/27/2012 10:42 PM, George Chung wrote:
> It currently defines this abstract method:
>
> protected abstract
> void Convert(TextWriter writer, LoggingEvent loggingEvent, HttpContext
httpContext)
>
> I would recommend changing it to:
>

> protected abstract void Convert(TextWriter writer, LoggingEvent
loggingEvent, HttpContext*Base* httpContext)

>
> Effectively, HttpContext.Current is not very useful anymore in more

> recent versions of ASP.NET <http://ASP.NET>. As they are promoting an

> asynchronous programming model where operations complete on completion
> threads. And they also encourage the use of the ParallelTaskLibrary for
> queuing work items. The bulk of your operations are going to execute on
> these threads, and on these threads, HttpContext.Current is null.
>
> HttpContextBase is what's being used now and it's easy to convert
> HttpContext.Current to an HttpContextBase like this:
>
> new HttpContextWrapper(HttpContext.Current)
>
> Here's some more info on the matter.
>
> http://www.splinter.com.au/httpcontext-vs-httpcontextbase-vs-httpcontext/

I did not change the signature and test the impact on compatibility to
previous versions of log4net, but I would assume that since HttpContext
is not an implementation of HttpContextBase it will not work out of the
box, would it?

And on top of that, HttpContextBase exists only for .NET 3.5/4.0, which
breaks log4net for .NET 1.0/2.0/3.0 unless we juggle around with build
conditionals.

Maybe a "reimplemtation" of the AspNetPatternLayoutConverter would suit
the new usecase better?
--
Dominik Psenner
## OpenPGP Key Signature #################################
# Key ID: B469318C                                       #
# Fingerprint: 558641995F7EC2D251354C3A49C7E3D1B469318C  #
##########################################################

 


Mime
View raw message