warlogfilehandler.h

来自「ftpserver very good sample」· C头文件 代码 · 共 118 行

H
118
字号
/** Log event handler for C++ ostream.  */#ifndef WAR_LOG_FILE_HANDLER_H#define WAR_LOG_FILE_HANDLER_H/* SYSTEM INCLUDES *//* PROJECT INCLUDES */#ifndef WAR_LOG_EVENT_HANDLER_H#   include "WarLogEventHandler.h"#endif#ifndef WarFile#   include "WarFile.h"#endif/* LOCAL INCLUDES *//* FORWARD REFERENCES */#ifdef __cplusplusextern "C" {#endif/****************** BEGIN OLD STYLE C spesific ********//****************** END OLD STYLE C spesific **********/#ifdef __cplusplus }#endif/****************** BEGIN C++ spesific ****************/#ifdef __cplusplusclass WarLogFileHandler : public WarLogEventHandler{public:    // LIFECYCLE        /**    * Default constructor.    */    WarLogFileHandler(war_file_ptr_t& IoPtr,         war_ccstr_t name)        : WarLogEventHandler(name),        IoPtr(IoPtr)    {}        // OPERATORS    // OPERATIONS                           // ACCESS    // INQUIRY    protected:    virtual void OnEvent(WarLogEvent& logEvent)    {        WarCollector<char> out_buffer;        if (!(GetSupressFlags() & SUPRESS_PREFIX))        {            if (!(GetSupressFlags() & SUPRESS_TYPE))                out_buffer << WarLog::sTypeChr[logEvent.mType] << ' ';                        if (!(GetSupressFlags() & SUPRESS_DATE))                out_buffer << logEvent.mTime.FormatLT("%c ");          }                        if (!(GetSupressFlags() & SUPRESS_ERROR)             && logEvent.mError)            out_buffer << '{'                 << logEvent.mError.Explain()                 << "} ";		if (!(GetSupressFlags() & SUPRESS_IDENTIFIER)			&& logEvent.mIdentifier.HaveLogIdentifier())		{			std::string log_identifier;			logEvent.mIdentifier.GetLogIdentifier(log_identifier);			out_buffer << '<' 				<< log_identifier				<< "> ";		}                if (!(GetSupressFlags() & SUPRESS_PREFIX)            && !(GetSupressFlags() & SUPRESS_MODULE)            && !logEvent.mCallingFunc.empty())        {            out_buffer << '['                 << logEvent.mCallingFunc                 << "] ";        }        out_buffer << logEvent.mMessage << war_endl;        out_buffer.ExpandNewline();        IoPtr->Write((war_ccptr_t)(out_buffer.GetValue().c_str()), out_buffer.GetValue().size());    }private:    war_file_ptr_t IoPtr;};/* INLINE METHODS *//* EXTERNAL REFERENCES */#endif /* __cplusplus *//****************** END C++ spesific ******************/#endif  /* WAR_LOG_FILE_HANDLER_H_ */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?