| 9 | static bool m_bOpened = false; |
| 10 | |
| 11 | void log::open(const char* recipients, const char* procname /* = unknown */, |
| 12 | const char* cfg /* = NULL */) |
| 13 | { |
| 14 | if (m_bOpened) { |
| 15 | return; |
| 16 | } |
| 17 | |
| 18 | acl_assert(recipients); |
| 19 | acl_assert(procname); |
| 20 | |
| 21 | const char* ptr = strrchr(procname, '/'); |
| 22 | if (ptr) { |
| 23 | procname = ptr + 1; |
| 24 | } |
| 25 | #ifdef ACL_WINDOWS |
| 26 | if (ptr == NULL) { |
| 27 | ptr = strrchr(procname, '\\'); |
| 28 | if (ptr) { |
| 29 | procname = ptr + 1; |
| 30 | } |
| 31 | } |
| 32 | #endif |
| 33 | |
| 34 | acl_msg_open(recipients, procname); |
| 35 | m_bOpened = true; |
| 36 | if (cfg) { |
| 37 | acl_debug_init(cfg); |
| 38 | } |
| 39 | } |
| 40 | |
| 41 | void log::close(void) |
| 42 | { |