[ https://issues.apache.org/jira/browse/LOG4NET-400?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13792569#comment-13792569 ]
Gian Marco Gherardi commented on LOG4NET-400: --------------------------------------------- ILog methods *don't log* if corresponding level is disabled, see this: https://github.com/apache/log4net/blob/trunk/src/Repository/Hierarchy/Logger.cs#L426 The FAQ explain how to skip the message construction code (the string concatenation in the example). What i mean is that all {{ILogExtensionsMethods}} methods that doesn't use lambda parameter are just a useless duplication that make Log4Net API less clear. > 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)