Данные ответы являются хорошими примерами людей, отвечающих на вопросы, которые они даже не понимают.Они просто повторяют то, что слышали или читали в плохой документации, например, в HTTP-клиенте Apache.Что-то вроде:
<logger name="org.apache.commons.httpclient">
<level value="warn"/>
</logger>
- это то, что должно быть сделано, если документация HTTP-клиента Apache была правильной.В таком случае, автор этого вопроса решил бы проблему сам.Давать такие плохие ответы довольно оскорбительно.
Проблема в том, что, хотя в документации сказано:
Каждый класс имеет свой собственный журнал, названный в соответствии с полностью определенным именем класса.Например, класс HttpClient имеет журнал с именем org.apache.commons.httpclient.HttpClient.Поскольку все классы следуют этому соглашению, можно настроить ведение журнала контекста для всех классов, используя один журнал с именем org.apache.commons.httpclient.
, это просто неверно.
Лучше, чем дать ответ, показать, как найти его самостоятельно.Чтобы найти решение, вы должны сначала включить местоположение в журнале, чтобы увидеть, где происходит журнал.Затем в журналах отобразится строка, подобная следующей:
2013-02-07 15:33:02,369 DEBUG [Some thread name] org.apache.commons.httpclient.Wire.wire(Wire.java:84) - << "[\r]"
Это показывает, что ведение журнала происходит в классе Wire.java, строка 84. Затем вы можете открыть источники в вашей любимой среде IDE, и вы увидите следующее:
80 if (buffer.length() > 0) {
81 buffer.append("\"");
82 buffer.insert(0, "\"");
83 buffer.insert(0, header);
84 log.debug(buffer.toString()); // Log is happening here
85 }
Переменная журнала содержит регистратор.Перейдите к месту, где эта переменная получит свое значение:
52 /** Log for any wire messages. */
53 private Log log;
54
55 private Wire(Log log) {
56 this.log = log;
57 }
Все, что вам нужно сделать сейчас, это установить точку останова в строке 56 и запустить ваше приложение в отладчике.Когда он остановится на строке 56, прочитайте значение журнала.Поскольку это объект типа Log, откройте его и посмотрите на его свойство «name».Вы увидите название «httpclient».Очевидно, что документация Apache неверна.
Теперь вы можете отключить этот регистратор с помощью:
<logger name="httpclient">
<level value="warn"/>
</logger>
Вывод:
Когда это возможно,научитесь находить ответ на свой вопрос вместо того, чтобы спрашивать.
Не верьте тому, что все говорят.Присвоение имен регистраторам полным именем класса является соглашением.Как и все соглашения, никто не обязан следовать ему.Апачи не делают.
Не отвечайте на вопрос, если не знаете ответа.Это всего лишь шум.