📄 warlogfilehandler.h
字号:
/** 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -