[ 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)