// wzloghandler.h #ifndef _PROGRAMCOMMON_WZLOGHANDLER_H_ #define _PROGRAMCOMMON_WZLOGHANDLER_H_ #include "wzlogtype.h" //------------------------------------------------------------------------------ /** @class WzLogHandler */ class WzLogHandler { public: WzLogHandler( void ); virtual ~WzLogHandler( void ) = 0; // ÀνºÅϽº ¾ò±â static WzLogHandler* Instance( void ); static bool IsValid( void ); // ·Î±× Á¤º¸ ÃʱâÈ­ virtual void ClearLogInfo( void ); // ¿­±â/´Ý±â virtual bool Open( void* param ); virtual void Close( void ); // ·Î±× ¾²±â virtual void Write( WZLOG_LEVEL level, const char* fmt, ... ); virtual void WriteResult( void ); // ·Î±× º¸±â virtual void ShowLog( void ); // ·Î±× ŸÀÔ virtual WZLOG_TYPE GetType( void ); // ·Î±× ·¹º§ ¼³Á¤ void SetLevel( int level ); protected: static WzLogHandler* m_instance; int m_level; // ·Î±× ·¹º§ int m_numLvlLog[5]; // °¢ ·¹º§º° ·Î±× ¼ö }; //------------------------------------------------------------------------------ /** */ inline WzLogHandler* WzLogHandler::Instance( void ) { assert( m_instance ); return m_instance; } //------------------------------------------------------------------------------ /** */ inline bool WzLogHandler::IsValid( void ) { return ( m_instance != NULL ); } //------------------------------------------------------------------------------ /** */ inline WZLOG_TYPE WzLogHandler::GetType( void ) { return WZLGT_UNKNOWN; } //------------------------------------------------------------------------------ /** */ inline void WzLogHandler::SetLevel( int level ) { m_level = level; } #endif // _PROGRAMCOMMON_WZLOGHANDLER_H_