logging-log4net-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gian Marco Gherardi (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (LOG4NET-400) ILog extension methods doesnt work as expected
Date Fri, 11 Oct 2013 12:47:42 GMT

    [ https://issues.apache.org/jira/browse/LOG4NET-400?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13792573#comment-13792573
] 

Gian Marco Gherardi edited comment on LOG4NET-400 at 10/11/13 12:46 PM:
------------------------------------------------------------------------

I think the greatest flexibility would be to expose a method like the one found in CommonLogging
(http://netcommon.sourceforge.net/docs/2.1.0/reference/html/ch01.html#logging-usage)

{code}
log.Debug( m => m("my expensive to calculate argument is: {0}", CalculateMessageInfo())
);
{code}

Meaning thet the lambda mixes in string.Format functionality found in ILog. With the current
{{ILogExtensionsMethods}} implementation the same code must be written like this:

{code}
log.DebugExt( () => string.Format("my expensive to calculate argument is: {0}", CalculateMessageInfo())
);
{code}

Why not just porting CommonLogging implementation into Log4Net?


was (Author: gimmi):
I think the greatest flexibility would be to expose a method like the one found in CommonLogging
(http://netcommon.sourceforge.net/docs/2.1.0/reference/html/ch01.html#logging-usage)

{code}
log.Debug( m => m("my expensive to calculate argument is: {0}", CalculateMessageInfo())
);
{code}

Meaning thet the lambda mixes in string.Format functionality found in ILog. With the current
{{ILogExtensionsMethods}} implementation the same code must be written like this:

{code}
log.DebugExt( () => string.Format("my expensive to calculate argument is: {0}", CalculateMessageInfo())
);
{code}


> ILog extension methods doesnt work as expected
> ----------------------------------------------
>
>                 Key: LOG4NET-400
>                 URL: https://issues.apache.org/jira/browse/LOG4NET-400
>             Project: Log4net
>          Issue Type: Improvement
>            Reporter: Gian Marco Gherardi
>
> Hi, I'm trying the feature LOG4NET-290, but seems that the following format doesn't work:
>   log.Debug( m=>m("value= {0}", obj.Value) ); 
> Instead this seems the correct signature:
>   log.Debug(() => string.Format("value= {0}", obj.Value));
> That is not as convenient IMO. Another thing I've noticed is that there are also many
extension methods that merely proxy the methods already supported by plain ILog. What's the
reason for that? I mean ILog methods already skip logging if level is not active.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message