gpt4 book ai didi

c - log4c - 我怎样才能只看到信息消息?

转载 作者:太空宇宙 更新时间:2023-11-04 04:06:53 25 4
gpt4 key购买 nike

我正在使用最新版本的 LOG4C,我有点困惑为什么我无法控制显示在屏幕上的 INFO、WARN、DEBUG 语句?我用过LOG4J,似乎很容易控制是否有DEBUG、INFO、WARN消息出来。

这是我的测试代码:

#include <stdio.h>
#include <stdlib.h>
#include "log4c.h"

int main(){
int rc = 0;
log4c_category_t* mycat = NULL;

if (log4c_init()){
printf("log4c_init() failed");
rc = 1;
}else{
mycat = log4c_category_get("test.program");
log4c_category_log(mycat, LOG4C_PRIORITY_ERROR, "Some ERROR message...!");
log4c_category_log(mycat, LOG4C_PRIORITY_INFO, "Some INFO message...!");
log4c_category_log(mycat, LOG4C_PRIORITY_WARN, "Some WARN message...!");
log4c_category_log(mycat, LOG4C_PRIORITY_ALERT, "Some ALERT message...!");
log4c_category_log(mycat, LOG4C_PRIORITY_CRIT, "Some CRITICAL message...!");
log4c_category_log(mycat, LOG4C_PRIORITY_FATAL, "Some FATAL message...!");
log4c_category_log(mycat, LOG4C_PRIORITY_NOTICE, "Some NOTICE message...!");

if ( log4c_fini()){
printf("log4c_fini() failed");
}
}
return 0;
}

这是与正在运行的应用程序位于同一文件夹中的“log4rc”文件。

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE log4c SYSTEM "">

<log4c version="1.2.1">

<config>
<bufsize>0</bufsize>
<debug level="INFO3"/>
<nocleanup>0</nocleanup>
<reread>1</reread>
</config>
<category name="test.program" priority="info" appender="stdout"/>
</log4c>

所以你可以看到上面我将它设置为“信息”,但是为什么当我运行程序时我仍然在屏幕上看到所有内容?

lynton@lynton-Latitude-E5400 ~/Desktop/log4c/LogTest/LogTest $ ./LogTest 
[stdout] ERROR test.program - Some ERROR message...!
[stdout] INFO test.program - Some INFO message...!
[stdout] WARN test.program - Some WARN message...!
[stdout] ALERT test.program - Some ALERT message...!
[stdout] CRIT test.program - Some CRITICAL message...!
[stdout] FATAL test.program - Some FATAL message...!
[stdout] NOTICE test.program - Some NOTICE message...!
lynton@lynton-Latitude-E5400 ~/Desktop/log4c/LogTest/LogTest $

我是不是做错了什么?

任何帮助或建议将不胜感激;-)

林顿

最佳答案

把这个作为答案,因为如果最初的提问者在过去九个月没有这样做,他们可能不打算这样做。

此行为与 log4j 相同。配置的调试级别是将​​启用输出的消息的最低 级别。换句话说,如果您选择 error,您将收到 error AND fatal 消息。

来自log4j online manual :

Basic Selection Rule: A log request of level P in a logger with (either assigned or inherited, whichever is appropriate) level Q, is enabled if P is greater than or equal to Q.

关于c - log4c - 我怎样才能只看到信息消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5055842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com