log4c - как я могу видеть только сообщения INFO? - PullRequest
1 голос
/ 20 февраля 2011

Я использую последнюю версию 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>

Итак, вы можете видеть выше, я установил для него значение "info", но почему тогда, когда я запускаю программу, я все еще вижу все на экране?

* * 1010

Я что-то здесь не так делаю?

Любая помощь или совет будет принята с благодарностью; -)

Линтон

1 Ответ

1 голос
/ 28 декабря 2011

Вводя это в качестве ответа, поскольку, если оригинальный аскер не делал этого в течение последних девяти месяцев, они, вероятно, не собираются.

Это поведение идентично log4j.Настроенный уровень отладки - это минимальный уровень сообщений, которые будут включены для вывода.Другими словами, если вы выберете error, вы получите error И fatal сообщений.

Из log4j онлайн-руководства :

Основное правило выбора: Запрос журнала уровня P в регистраторе с (назначенным или унаследованным, в зависимости от того, что подходит) уровнем Q включается, если P больше или равенQ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...