JBoss 4.3, работающий с устаревшим приложением Struts, выводит сотни тысяч пустых строк в файле журнала.

Эта проблема сводит меня с ума, потому что я не уверен, почему это только начало происходить, и я уже потратил на это неделю без абсолютно никакого прогресса.

Я поддерживаю устаревшее приложение, работающее на JBoss 4.3, используя:

  • Struts2
  • Спящий режим 3.2.5
  • Log4J 1.2.15
  • ojdbc5 (драйвер JDBC Oracle для Oracle 10g)
  • Apache Commons Logging 1.1 (зависимость Vile требуется для хрупкого стороннего пользовательского компонента)
  • c3p0 0.9.1.2

Файлы журналов всегда были загрязнены (я предполагаю, что это Apache?) мусором, например:

07:37:04,024 DEBUG [Дайджестер] Новое совпадение = 'веб-приложение/MIME-mapping/расширение'

07:37:04,024 DEBUG [Digester] Fire begin() для CallParamRule[paramIndex=0, attributeName=null, from stack=false]

07:37:04,024 DEBUG [sax] символы (tcl)

07:37:04,028 DEBUG [саксофон] endElement(,,расширение)

07:37:04,028 ОТЛАДКА [Дайджест] match='веб-приложение/MIME-mapping/расширение'

07:37:04,028 ОТЛАДКА [Дайджестер] bodyText='tcl'

07:37:04,028 DEBUG [Дайджестер] Fire body() для CallParamRule[paramIndex=0, attributeName=null, from stack=false]

07:37:04,028 DEBUG [Digester] Выталкивание основного текста

Меня это никогда не волновало до недавнего времени, когда за следующей строкой следовали сотни тысяч строк пробелов.

07:37:04,024 DEBUG [Digester] Отправка основного текста '

...

'

Теперь меня это очень волнует, потому что по причинам аудита мы должны поддерживать эти файлы журналов неопределенно долго, и они начинаются после перезапуска сервера примерно с 20 МБ.

Сначала я решил, что, отключив ведение журнала Sax Digester из log4j.properties, я решил проблему, но ничего из того, что я пытался сделать, не сработало.

http://programming.itags.org/development-tools/59562/

https://community.jboss.org/thread/4401

http://www.coderanch.com/t/47763/Struts/disable-struts-debug-info-messages

http://mail-archives.apache.org/mod_mbox/logging-log4j-user/200210.mbox/%[email protected]%3E

http://deepaksrivastav.com/?p=63

http://www.mail-archive.com/[email protected]/msg10703.html

Кто-то здесь упомянул, что это может быть мошеннический log4j. properties или simplelog.properties, плавающие в пути к классам, которые вызывают у меня это горе, но после исчерпывающей охоты на ведьм я обнаружил, что ничто действительно не подавляет загрязнение файла журнала.

Любая помощь или совет будут очень признательны.

EDIT: Отличное предложение, приведенное ниже, напомнило мне, что я уже пытался настроить ведение журнала на WARN для всего в файле конфигурации JBoss log4j xml для этого экземпляра сервера. Буквально ничего не изменилось. Я заметил, что временные файлы и рабочие каталоги тоже не очищались должным образом, поэтому я стер их, но ничего не произошло. Надеюсь, эта информация поможет, а не отпугнет людей, которые думают: «Чувак, этот парень облажался!» :)


person maple_shaft    schedule 08.02.2012    source источник


Ответы (1)


Отключите ведение журнала отладки в server/xxx/conf/jboss-log4j.xml. Установите значение info, чтобы не видеть всех этих ненужных строк логирования.

person Timmo    schedule 08.02.2012
comment
Спасибо за ответ, но я забыл упомянуть, что это было первое, что я попробовал. Я отредактирую выше. - person maple_shaft; 08.02.2012
comment
Можете ли вы опубликовать свой jboss-log4j.xml, пожалуйста? - person Timmo; 08.02.2012
comment
Я понял, что не так, ведь это был jboss-log4j.xml! XML был неправильно сформирован. Разработчик, которого я заменил, должно быть, менял уровни журнала, но забыл закрыть одну из закомментированных строк. Без подсветки синтаксиса было легко пропустить при первом просмотре файла. Теперь он работает отлично, спасибо, что направили меня в правильном направлении! Тем не менее, мне интересно, что вдруг вызвало все пробелы? Спасибо, однако, мое решение было слишком локализовано, чтобы помочь кому-либо, поэтому я приму ваш ответ. - person maple_shaft; 08.02.2012