log_mgr.h 1022 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #ifndef __LOGMGR_H__
  2. #define __LOGMGR_H__
  3. #pragma once
  4. #include "log_base.h"
  5. #include "log_factory.h"
  6. #include "hashset.h"
  7. #ifdef __cplusplus
  8. extern "C" {
  9. #endif
  10. typedef struct logmgr_t logmgr_t;
  11. struct logmgr_t
  12. {
  13. struct list_head factory_list;
  14. stringmap_t* log_table;
  15. };
  16. int logmgr_create(logmgr_t** p_mgr);
  17. void logmgr_destroy(logmgr_t* mgr);
  18. int logmgr_register_factory(logmgr_t* mgr, logfactory_t* fac);
  19. int logmgr_unregister_factory(logmgr_t* mgr, logfactory_t* fac);
  20. logfactory_t* logmgr_get_factory(logmgr_t* mgr, const char* name);
  21. int logmgr_create_log(logmgr_t* mgr, const char* factory, const char* inst, logbase_t** p_log);
  22. int logmgr_set_param(logmgr_t* mgr, logbase_t* log, const char* key, const char* value);
  23. int logmgr_init_log(logmgr_t* mgr, logbase_t* log);
  24. int logmgr_term_log(logmgr_t* mgr, logbase_t* log);
  25. void logmgr_destroy_log(logmgr_t* mgr, logbase_t* log);
  26. logbase_t* logmgr_find_log(logmgr_t* mgr, const char* inst);
  27. #ifdef __cplusplus
  28. }
  29. #endif
  30. #endif //__LOGMGR_H__