// ---------------------------------------------------------------------- // // ZMexViaErrlog.cc - define logging behavior routing to an ErrorLog // // History: // 19-Feb-2001 MF/WEB Initial draft. // // ---------------------------------------------------------------------- #include "ErrLogEx/ZMexViaErrlog.h" #include "ErrorLogger/ErrorLog.h" #include "Exceptions/ZMexception.h" // ---------------------------------------------------------------------- ZM_BEGIN_NAMESPACE( zmex ) /* namespace zmex { */ ZM_USING_NAMESPACE( zmel ) // ---------------------------------------------------------------------- // --------------- // ZMexViaErrlog:: // --------------- ZMexViaErrlog::ZMexViaErrlog( ErrorLog & log ) : ZMexLogBehavior() , myLog( log ) { ; } ZMexViaErrlog::~ZMexViaErrlog() { ; } ZM_COVARIANT_TYPE(ZMexLogBehavior,ZMexViaErrlog) * ZMexViaErrlog::clone() const { return new ZMexViaErrlog( *this ); } ZMexLogResult ZMexViaErrlog::emit( const ZMexception & x ) { // Send a message to mylog, with: // ErrorLogger Severity based on the exception severity // ID as the name of the excpetion // Additional text from the Exception's log message ZMexSeverity xsev = x.severity(); ELseverityLevel sev = ELfatal; if ( xsev == ZMexNORMAL ) sev = ELincidental; if ( xsev == ZMexINFO ) sev = ELinfo; if ( xsev == ZMexWARNING ) sev = ELwarning; if ( xsev == ZMexERROR ) sev = ELerror; if ( xsev == ZMexSEVERE ) sev = ELsevere; if ( xsev == ZMexFATAL ) sev = ELabort; myLog (sev, x.name()) << x.logMessage() << endmsg; return ZMexLOGGED; } ZMexLogResult ZMexViaErrlog::emit( const std::string & s ) { std::cerr << "ZMexViaErrlog::emit( \"" << s << "\" )" << std::endl; return ZMexNOTLOGGED; } // ---------------------------------------------------------------------- ZM_END_NAMESPACE( zmex ) /* } // namespace zmex */