ext_intf.go 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package rpcore
  2. import (
  3. "git.swzry.com/zry/GoHiedaLogger/hiedalog"
  4. )
  5. type ChildProcManagerMsgHandler interface {
  6. ManagerStart()
  7. ManagerStop(err error)
  8. MsgLoopVerboseLog(CPID int64, text string)
  9. ProcessStarted(CPID int64)
  10. ProcessQuit(CPID int64, err error)
  11. }
  12. type DefaultChildProcManagerMsgHandler struct {
  13. Logger *hiedalog.HiedaLogger
  14. LogModuleName string
  15. }
  16. func (d DefaultChildProcManagerMsgHandler) ManagerStart() {
  17. if d.Logger == nil {
  18. return
  19. }
  20. d.Logger.LogPrint(d.LogModuleName, hiedalog.DLN_INFO, "<procman> start running")
  21. }
  22. func (d DefaultChildProcManagerMsgHandler) ManagerStop(err error) {
  23. if d.Logger == nil {
  24. return
  25. }
  26. if err != nil {
  27. d.Logger.LogPrint(d.LogModuleName, hiedalog.DLN_INFO, "<procman> stopped with error: ", err)
  28. } else {
  29. d.Logger.LogPrint(d.LogModuleName, hiedalog.DLN_INFO, "<procman> stopped normally")
  30. }
  31. }
  32. func (d DefaultChildProcManagerMsgHandler) MsgLoopVerboseLog(CPID int64, text string) {
  33. if d.Logger == nil {
  34. return
  35. }
  36. d.Logger.LogPrintf(d.LogModuleName, hiedalog.DLN_VERBOSE, "<msgloop> | %16x | %s", CPID, text)
  37. }
  38. func (d DefaultChildProcManagerMsgHandler) ProcessQuit(CPID int64, err error) {
  39. if err == nil {
  40. d.Logger.LogPrintf(d.LogModuleName, hiedalog.DLN_INFO, "<procend> | %16x | end normally", CPID)
  41. } else {
  42. d.Logger.LogPrintf(d.LogModuleName, hiedalog.DLN_WARN, "<procend> | %16x | end with error: %v", CPID, err)
  43. }
  44. }
  45. func (d DefaultChildProcManagerMsgHandler) ProcessStarted(CPID int64) {
  46. d.Logger.LogPrintf(d.LogModuleName, hiedalog.DLN_INFO, "<procend> | %16x | started", CPID)
  47. }