acl  3.5.3.0
acl_mylog.h
浏览该文件的文档.
1 #ifndef ACL_MYLOG_INCLUDE_H
2 #define ACL_MYLOG_INCLUDE_H
3 
4 #include <stdarg.h>
5 
6 #ifdef __cplusplus
7 extern "C" {
8 #endif
9 
10 #include "acl_define.h"
11 #include "acl_vstream.h"
12 
13 #ifdef ACL_UNIX
14 #include <netinet/in.h>
15 #endif
16 
17 typedef struct ACL_LOG ACL_LOG;
18 
19 /**
20  * 将当前的时间转换成日志记录格式的时间格式
21  * @param buf {char*} 内存存储区
22  * @param size {size_t} buf 的空间大小
23  */
24 ACL_API void acl_logtime_fmt(char *buf, size_t size);
25 
26 /**
27  * 设置是否记录线程ID号,默认情况下是不记录的
28  * @param onoff {int} 非 0 表示记录线程ID,否则不记录
29  */
30 ACL_API void acl_log_add_tid(int onoff);
31 
32 /**
33  * 设置日志的文件流句柄
34  * @param fp {ACL_VSTREAM *} 文件流句柄
35  * @param plog_pre {const char*} 日志记录信息前的提示信息,建议用进程
36  */
37 ACL_API void acl_log_fp_set(ACL_VSTREAM *fp, const char *plog_pre);
38 
39 /**
40  * 打开日志文件
41  * @param recipients {const char*} 日志接收器列表,由 "|" 分隔,接收器
42  * 可以是本地文件或远程套接口,如:
43  * /tmp/test.log|UDP:127.0.0.1:12345|TCP:127.0.0.1:12345|UNIX:/tmp/test.sock
44  * 该配置要求将所有日志同时发给 /tmp/test.log, UDP:127.0.0.1:12345,
45  * TCP:127.0.0.1:12345 和 UNIX:/tmp/test.sock 四个日志接收器对象
46  * @param plog_pre {const char*} 日志记录信息前的提示信息,建议用进程
47  * 名填写此值
48  */
49 ACL_API int acl_open_log(const char *recipients, const char *plog_pre);
50 
51 /**
52  * 在调用 acl_open_log 前,可以调用本函数用来设定针对日志 fd 是否调用
53  * acl_close_on_exec,缺省情况下会自动调用 acl_close_on_exec
54  * @param yes {int} 非 0 表示调用 acl_close_on_exec,否则表示不调用
55  */
56 ACL_API void acl_log_close_onexec(int yes);
57 
58 /**
59  * 写日志
60  * @param fmt {const char*} 格式参数
61  * @param ... 参数序列
62  * @return {int} 写入日志文件的数据量
63  */
64 ACL_API int ACL_PRINTF(1, 2) acl_write_to_log(const char *fmt, ...);
65 
66 /**
67  * 写日志
68  * @param info {const char*} 日志信息的提示信息
69  * @param fmt {const char*} 格式参数
70  * @param ap {va_list} 参数列表
71  * @return {int} 写入日志文件的数据量
72  */
73 ACL_API int acl_write_to_log2(const char *info, const char *fmt, va_list ap);
74 
75 /**
76  * 关闭日志文件句柄
77  */
78 ACL_API void acl_close_log(void);
79 
80 #ifdef __cplusplus
81 }
82 #endif
83 
84 #endif
85 
86 
ACL_API void acl_log_add_tid(int onoff)
ACL_API void acl_close_log(void)
struct ACL_LOG ACL_LOG
Definition: acl_mylog.h:17
ACL_API int ACL_API int acl_write_to_log2(const char *info, const char *fmt, va_list ap)
ACL_API void const char * fmt
Definition: acl_aio.h:771
ACL_API void acl_log_fp_set(ACL_VSTREAM *fp, const char *plog_pre)
ACL_API int ACL_PRINTF(1, 2) acl_write_to_log(const char *fmt
ACL_API int acl_open_log(const char *recipients, const char *plog_pre)
ACL_API void acl_logtime_fmt(char *buf, size_t size)
ACL_API void acl_log_close_onexec(int yes)