Details
Description
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)
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