[ https://issues.apache.org/jira/browse/LOG4NET-281?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15640035#comment-15640035 ]
Joe commented on LOG4NET-281: ----------------------------- Surely adding an ILog2 interface and a LogManager.GetLogger2 method to return it would be better than having a breaking change? > 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.3.4#6332)