常见打印log代码
void d_logs(int level, const char *fmt, ...)
{
va_list va;
char buff[LOG_LEN] = {0};
if (g_log_level < level) {
printf("error: log level error [%d:%d]\n ", g_log_level, level);
return;
}
snprintf(buff, LOG_LEN, "test: %s\n", fmt);
va_start(va, fmt);
if (syslog_mode == 1) {
vsyslog(level, buff, ap); -----》 使用系统log,
} else {
vfprintf(stderr, buff, ap); ----》输出到stderr
}
va_end(va);
return;
}
int main(void)
{
/*打开日志*/
openlog("log_test ", LOG_PID|LOG_CONS, LOG_USER);
d_log(LOG_INFO, "P

本文介绍了两种常见的日志打印方式——syslog和stderr,详细讲解了syslog的不同等级及其含义,并通过代码示例展示了如何在C程序中使用这两种方式记录日志。syslog等级包括LOG_EMERG到LOG_DEBUG,适用于不同严重程度的消息。而stderr则直接将日志输出到标准错误,可能存在日志重定向的风险。
最低0.47元/天 解锁文章
411

被折叠的 条评论
为什么被折叠?



