JBoss AS 7: ведение журнала - PullRequest
       31

JBoss AS 7: ведение журнала

5 голосов
/ 19 марта 2012

Я немного борюсь с JBoss AS7 и регистрацией. Я не могу найти ничего связанного в Интернете, несмотря на то, что моя проблема носит очень общий характер.

Журнал по умолчанию выглядит сейчас так:

11:57:29,950 INFO  [stdout] (http--0.0.0.0-8081-78) 248408930 [http--0.0.0.0-8081-78] INFO  org.apache.http.impl.client.DefaultHttpClient  - I/O exception (java.net.SocketException) caught when processing request: Connection reset
11:57:29,950 INFO  [stdout] (http--0.0.0.0-8081-78) 248408930 [http--0.0.0.0-8081-78] INFO org.apache.http.impl.client.DefaultHttpClient  - Retrying request

обратите внимание на [stdout], те строки, которые были записаны в stout некоторой библиотекой журналирования, которая используется какой-то библиотекой и собирается JBoss и записывается в файл журнала. Это то, что я хочу исправить.

Полагаю, должен быть способ иметь адаптер, который сообщает log4j (или любой другой инфраструктуре ведения журнала) войти в подсистему ведения журнала jboss?

Моей первой идеей было удалить всю конфигурацию log4j из пути к классам моего проекта. Я нашел один в библиотеке, которую я использую, которая действительно входила в stdout. Но это ничего не исправляет.

11:21:01,648 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) log4j:WARN No appenders could be found for logger (org.springframework.web.context.support.StandardServletEnvironment).
11:21:01,648 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) log4j:WARN Please initialize the log4j system properly.
11:21:01,648 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

Обычное сообщение об ошибке, когда не настроен ни один из приложений. По крайней мере, я могу быть уверен, что в пути к классам больше нет конфигурации.

Документация JBoss AS даже не упоминает такого рода сценарии, как я должен использовать сторонние библиотеки, когда я не могу получить надлежащую регистрацию?

Я действительно надеюсь, что кто-то может мне помочь, любой намек будет полезен!

Malax

1 Ответ

14 голосов
/ 19 марта 2012

Хотя это и не вопрос, я предполагаю, что вы пытаетесь использовать log4j с JBoss AS7.Если это так, и вам нужно использовать appenders, то вам нужно исключить log4j, поставляемый с сервером, и упаковать свою собственную версию с вашим развертыванием в настоящее время.Это должно скоро измениться, как только AS7-514 разрешен.Как только эта функция будет добавлена, на вашей стороне ничего не нужно будет делать.

Чтобы решить проблему на данный момент, сначала нужно создать jboss-deployment-structure.xml, который должен выглядеть следующим образом:

<jboss-deployment-structure>
    <deployment>
        <!-- Exclusions allow you to prevent the server from automatically adding some dependencies -->
        <exclusions>
            <module name="org.apache.log4j" />
        </exclusions>
    </deployment>
</jboss-deployment-structure>

Затем добавьте свою собственную версию log4j в каталог WEB-INF/lib или любое другое место, где развертывание сможет найти библиотеку.

После этого она должна работать так же, каквы ожидаете.

...