关注+星标公众号,不错过精彩内容
来源 | Github
编排 | strongerHuang
用法
log_trace(const char *fmt, ...);
log_debug(const char *fmt, ...);
log_info(const char *fmt, ...);
log_warn(const char *fmt, ...);
log_error(const char *fmt, ...);
log_fatal(const char *fmt, ...);
log_trace("Hello %s", "world")
20:18:26 TRACE src/main.c:11: Hello world
可以通过传递给函数来启用Quiet安静模式(不输入日志)。
启用此模式时,库不会向输出任何内容,但是将继续写入文件和回调(如果已设置)。true
log_set_quiet()
stderr
log_set_level(int level)
可以使用该函数设置当前日志记录级别。不会将低于给定级别的所有日志写入 。默认情况下级别为LOG_TRACE, ,即不忽略任何内容。log_set_level()
stderr
LOG_TRACE
log_add_fp(FILE *fp, int level)
可以将一个或多个将写入日志的文件指针提供给库,通过使用函数。写入文件的数据输出采用以下格式:log_add_fp()
2047-03-11 20:18:26 TRACE src/main.c:11: Hello world
给定值以下的任何消息都将被忽略。如果库无法添加文件指针返回小于零的值。
log_add_callback(log_LogFn fn, void *udata, int level)
使用日志数据调用的一个或多个回调函数可以是 通过使用函数提供给库。回调 函数传递一个包含数字、、字符串、printf va_list和给定 .log_add_callback()
log_Event
line
filename
fmt
va
level
udata
log_set_lock(log_LockFn fn, void *udata)
如果日志将从多个线程写入,则可以设置锁定函数。如果应该获取锁,或者是否应该释放锁并给定值,则该函数将传递布尔值。true
false
udata
const char* log_level_string(int level)
以字符串形式返回给定日志级别的名称。
LOG_USE_COLOR
如果使用-DLOG_USE_COLOR编译库,则在打印时将使用ANSI转义码。
开源协议
该库为免费软件库,但你需要对应的 MIT 许可证条款。
开源地址:
https://github.com/rxi/log.c