设为首页 加入收藏

TOP

AerospikeC客户端手册―――日志
2015-07-24 11:21:06 来源: 作者: 【 】 浏览:3
Tags:AerospikeC 客户端 手册 ―日志

日志

Aerospike C客户端有一个日志设施,用于记录内部日志信息。默认情况下,日志记录器将日志信息写到stderr。但应用可更改日志的详细程度或提供一个客户化方法来记录日志信息。

设置日志级别

若应用需要修改日志信息详细程度,可使用as_log_set_level()设置不同的日志级别:.
as_log_set_level(&as->log, AS_LOG_LEVEL_DEBUG);
日志级别有:
AS_LOG_LEVEL_OFF
AS_LOG_LEVEL_ERROR
AS_LOG_LEVEL_WARN
AS_LOG_LEVEL_INFO
AS_LOG_LEVEL_DEBUG
AS_LOG_LEVEL_TRACE

设置一个客户化日志回调函数

除了设置日志级别,应用可提供一个客户化日志回调用函数(使用as_log_set_callback()设置), 来根据应用的需要来重定向、过滤或者格式化日志信息。

日志回调函数的型构是:

typedef bool (*as_log_callback)(as_log_level level, const char *func, const char *file, uint32_t line, const char *fmt, ...);

参数解释如下:

level — 日志信息级别。
func — 日志信息被记录位置的函数名称。
file — 日志信息被记录位置的文件名称。
line — 日志信息被记录位置的文件行号。
fmt — 日志信息格式化串。
... — 格式化串对应的参数。

下面是一个客户化日志回调函数的例子:

bool my_log_callback(as_log_level level, const char *func, const char *file, uint32_t line, const char *fmt, ...) { char msg[1024] = {0}; va_list ap; va_start(ap, fmt); vsnprintf(msg, 1024, fmt, ap); msg[1023] = '\0'; va_end(ap); fprintf(stderr, "[%s:%d][%s] %d - %s\n", file, line, func, level, msg); return true; }

上面这个客户化函数可以如下进行设置使用:

as_log_set_level(AS_LOG_LEVEL_INFO); as_log_set_callback(as_client_log_callback);

若使用3.0.85及以下旧版本C客户端,则:

as_log_set_level(&as->log, AS_LOG_LEVEL_INFO); as_log_set_callback(&as->log, as_client_log_callback);
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇iReport+jasperreport创建子表的.. 下一篇Mongodb之insert瞬时完成,带测试..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·如何在 C 语言中管理 (2025-12-25 03:20:14)
·C语言和内存管理有什 (2025-12-25 03:20:11)
·为什么C语言从不被淘 (2025-12-25 03:20:08)
·常用meta整理 | 菜鸟 (2025-12-25 01:21:52)
·SQL HAVING 子句:深 (2025-12-25 01:21:47)