[
https://issues.apache.org/jira/browse/LOG4NET-281?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13832435#comment-13832435
]
Michael Goldfinger edited comment on LOG4NET-281 at 11/26/13 9:36 AM:
----------------------------------------------------------------------
Sorry this Issue is pretty old but I have to ask.
When and under which conditions adding new methods without changing the old
ones an breaking change?
But I stick with Stefan Bodewig that this would break backwards compatibility.
I just could not see any harm in losing backwards compatibility, only if using
the new Methods.
However this Methods could also be added using Extension Methods.
was (Author: swtrse):
But I stick with Stefan Bodewig that this would break backwards compatibility.
I just could not see any harm in losing backwards compatibility, only if using
the new Methods.
However this Methods could also be added using Extension Methods.
> Insufficient Granularity on Log methods in ILog
> -----------------------------------------------
>
> Key: LOG4NET-281
> URL: https://issues.apache.org/jira/browse/LOG4NET-281
> Project: Log4net
> Issue Type: New Feature
> Components: Core
> Affects Versions: 1.2.10
> Environment: All Environments
> Reporter: Zev
> Fix For: 1.3.0
>
> Original Estimate: 2h
> Remaining Estimate: 2h
>
> The driver for this change is that we are unable to log certain event types
> from the ILog object. While we can use the Logger object, it is easier to
> have them here.
> updated code:
> ILog.cs
> //start new
> void Emergency(object message);
> void Emergency(object message, Exception e);
> void Alert(object message);
> void Alert(object message, Exception e);
> void Critical(object message);
> void Critical(object message, Exception e);
> void Notice(object message);
> void Notice(object message, Exception e);
> //end new
> LogImpl.cs (in ReloadLevels)
> //start new
> m_levelEmergency = levelMap.LookupWithDefault(Level.Emergency);
> m_levelAlert = levelMap.LookupWithDefault(Level.Alert);
> m_levelCritical = levelMap.LookupWithDefault(Level.Critical);
> m_levelNotice = levelMap.LookupWithDefault(Level.Notice);
> //end new
> methods:
> //start new
> virtual public void Emergency(object message)
> {
> Logger.Log(ThisDeclaringType, m_levelEmergency, message, null);
> }
> virtual public void Emergency(object message, Exception exception)
> {
> Logger.Log(ThisDeclaringType, m_levelEmergency, message,
> exception);
> }
> virtual public void Alert(object message)
> {
> Logger.Log(ThisDeclaringType, m_levelAlert, message, null);
> }
> virtual public void Alert(object message, Exception exception)
> {
> Logger.Log(ThisDeclaringType, m_levelAlert, message, exception);
> }
> virtual public void Critical(object message)
> {
> Logger.Log(ThisDeclaringType, m_levelCritical, message, null);
> }
> virtual public void Critical(object message, Exception exception)
> {
> Logger.Log(ThisDeclaringType, m_levelCritical, message,
> exception);
> }
> virtual public void Notice(object message)
> {
> Logger.Log(ThisDeclaringType, m_levelNotice, message, null);
> }
> virtual public void Notice(object message, Exception exception)
> {
> Logger.Log(ThisDeclaringType, m_levelNotice, message, exception);
> }
> //end new
> private fields:
> //start new
> private Level m_levelEmergency;
> private Level m_levelAlert;
> private Level m_levelCritical;
> private Level m_levelNotice;
> //end new
--
This message was sent by Atlassian JIRA
(v6.1#6144)