JBoss AS7: вход в систему с выходом из системы - PullRequest
3 голосов
/ 20 октября 2011

Я хотел бы использовать slf4j + logback для входа в систему на JBossAS7.

Дополнительно мне необходимо выполнить следующие требования:

  • Мне нужно использовать одну конфигурацию / контекст для возвратав нескольких развернутых приложениях / EAR
  • Мне нужно изменить конфигурацию обратного входа во время выполнения без повторного развертывания / перезапуска EAR
  • сделать (насколько это возможно) записи журнала сервера JBoss видимыми внутримоя конфигурация регистрации (например, журналы развертывания и т. д.)

Теперь я знаю, что JBoss использует свой собственный уровень ведения журнала.По архитектурным соображениям я не могу этим пользоваться.Я хотел бы использовать только SLF4J в качестве Logging-API и Logback в качестве фреймворка.

Я был бы рад получить некоторые подсказки, как это можно решить.

С уважением,

Lars

Ответы [ 2 ]

1 голос
/ 06 декабря 2012

Я почти уверен, что вы можете использовать slf4j + logback для своих собственных приложений в JBoss и полностью обойти его регистрацию.JBoss будет продолжать регистрировать все свои собственные сообщения журнала в свои собственные журналы, но ваше программное обеспечение вообще не будет подключаться к jboss-logging и будет иметь свои собственные журналы.Я пробовал это под JBoss 6;мы еще не пробовали JBoss 7, поэтому там все может быть по-другому, но я сомневаюсь в этом.Просто убедитесь, что slf4j и logback jar находятся в пути к классам ваших приложений, и вы должны быть хороши.

Если вы будете искать в доступных вам свойствах System, вы найдете некоторые свойства jboss. *, Которые могут быть полезнываша конфигурация logback для поиска места для размещения ваших файлов журнала.

Лично я бы хотел, чтобы JBoss переключился на использование slf4j.

1 голос
/ 20 октября 2011

Lars, единственный способ, которым я могу придумать, это написать собственный обработчик.Хотя в настоящее время это не очень хорошо задокументировано, вы можете создавать собственные java.util.logging.Handler's.В некотором смысле вы можете написать обертку вокруг конфигурации logback.Я думаю, что у них есть BasicConfigurator или что-то в этом роде.

Вы регистрируете пользовательский обработчик, например, так:

<custom-handler name="logbackHandler" class="org.jboss.LogbackHandler" module="org.jboss.logback">
   <level name="DEBUG"/>
   <properties>
       <property name="nameOfASetterMethod" value="the value to set" />
   </properties>
</custom-handler>

<root-logger>
    <level name="INFO"/>
    <handlers>
        <handler name="CONSOLE"/>
        <handler name="FILE"/>
        <handler name="logbackHandler"/>
    </handlers>
</root-logger>

Это говорит о том, что, вероятно, в этом нет особой необходимости.Регистратор сервера приложений будет регистрировать сообщения, даже если вы регистрируетесь через другой фасад.Вы можете настроить различные обработчики файлов, если хотите записывать в свои собственные файлы.

Я понимаю, что при входе в JBoss AS7 действительно можно использовать лучшую документацию.Я планирую обновить это, когда найду время :-) И на самом деле мне просто нужно сделать время.

...