mod_uplog.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #ifndef __MOD_UPLOG_H
  2. #define __MOD_UPLOG_H
  3. #include "stdafx.h"
  4. #include "SpBase.h"
  5. #include "SpIni.h"
  6. #include "UpLogFSM.h"
  7. #include "EventCode.h"
  8. class CUpLogEntity : public CEntityBase,public ILogListener
  9. {
  10. public:
  11. CUpLogEntity(){}
  12. virtual ~CUpLogEntity() {}
  13. virtual const char *GetEntityName() const { return "UpLog"; }
  14. virtual void OnPreStart(CAutoArray<CSimpleStringA> strArgs,CSmartPointer<ITransactionContext> pTransactionContext)
  15. {
  16. ErrorCodeEnum Error = Error_Succeed;
  17. Error = m_fsm.Init(this);
  18. //添加日志订阅接口
  19. if(Error_Succeed==Error){
  20. Error = GetFunction()->SubscribeLog(m_uuidPtr,this,Log_Ignore,Severity_None,Error_IgnoreAll,-2,NULL,false);
  21. if(Error_Succeed!=Error){
  22. LogError(Severity_High, Error, 0, "entity uplog SubscribeLog is fail");
  23. }
  24. }else{
  25. LogError(Severity_High, Error, 0, "entity uplog preStart is fail");
  26. }
  27. pTransactionContext->SendAnswer(Error);
  28. }
  29. virtual void OnPreClose(EntityCloseCauseEnum eCloseCause,CSmartPointer<ITransactionContext> pTransactionContext)
  30. {
  31. pTransactionContext->SendAnswer(Error_Succeed);
  32. //取消日志订阅接口
  33. GetFunction()->UnsubscribeLog(m_uuidPtr);
  34. }
  35. virtual void OnSelfTest(EntityTestEnum eTestType,CSmartPointer<ITransactionContext> pTransactionContext) ;
  36. virtual void OnLog(const CAutoArray<CUUID> &SubIDs, const CUUID nLogID,const LogTypeEnum eLogType, const SeverityLevelEnum eLevel,
  37. const DWORD dwSysError,const DWORD dwUserCode,const DWORD dwEntityInstanceID, const WORD wEntityDevelID,
  38. const CAutoArray<DWORD> &Param, const char *pszEntityName, const char *pszModuleName,const char *pszMessage);
  39. private:
  40. UpLogFSM m_fsm;
  41. CUUID m_uuidPtr;
  42. };
  43. #endif