2012-01-20 2 views
2

Я сделал новую программу с EJB3 + SLF4J с мавенаSLF4J Log4J Jboss 4,3 и EJB 3.0

Чтобы использовать SLF4J с LOG4J У меня есть

<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-api</artifactId> 
    <version>1.6.2</version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-simple</artifactId> 
    <version>1.6.2</version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-log4j12</artifactId> 
    <version>1.6.2</version> 
    <scope>compile</scope> 
</dependency> 

Но я сказал, не записывайте банки с log4j в моем ухо использовать банку JBOSS

<dependency> 
     <groupId>log4j</groupId> 
     <artifactId>log4j</artifactId> 
     <version>1.2.16</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>log4j</groupId> 
     <artifactId>apache-log4j-extras</artifactId> 
     <version>1.1</version> 
     <scope>provided</scope> 
    </dependency> 

Jboss имеет конфигурационный файл с именем JBoss-log4j.xml

модули язь корень говорит использовать appende ASYNC

<root> 
     <appender-ref ref="ASYNC"/> 
    </root> 

Appender Асинхронных Используйте Appender ФАЙЛ

<appender name="ASYNC" class="org.apache.log4j.AsyncAppender"> 
    <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/> 
    <param name="Threshold" value="INFO"/> 
    <appender-ref ref="FILE"/> 
</appender> 

а также Appender файл является

<appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender"> 
    <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/> 
    <param name="File" value="${jboss.server.log.dir}/server.log"/> 
    <param name="Append" value="false"/> 
    <param name="DatePattern" value="'.'yyyy-MM-dd"/> 
    <layout class="org.apache.log4j.PatternLayout"> 
     <param name="ConversionPattern" value="%d [%t] %-5p [%c] %m%n"/> 
    </layout> 
    </appender> 

Это Appender работает много вещей, которые записаны в этот файл.

Но я хочу новый файл для моей службы

я добавил категорию, название категории является имя пакета, который contanins все мои новые развиваются

<category name="com.mycompany.ti.minewsystem"> 
      <priority value="DEBUG" /> 
      <appender-ref ref="MYAPPENDER"/> 
    </category> 

And The Appender является

<appender name="MYAPPENDER" class="org.jboss.logging.appender.DailyRollingFileAppender"> 
      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/> 
      <param name="File" value="${jboss.server.home.dir}/log/ws-mysystem.log"/> 
      <param name="Append" value="false"/> 
      <param name="DatePattern" value="'.'yyyy-MM-dd"/> 
      <layout class="org.apache.log4j.PatternLayout"> 
        <param name="ConversionPattern" value="%d [%t] %-5p [%c] %m%n"/> 
      </layout> 
    </appender> 

И Finaly ми EJB импорта де SLF4J

import org.slf4j.Logger; 
    import org.slf4j.LoggerFactory; 

создать де Лог инфокодов

private Logger logger = LoggerFactory.getLogger(MyEJB.class); 

и использовали

logger.debug("--------- HI! ------------------"); 

файл журнала (WS-mysystem.log) создается, но по-прежнему при нулевой байт :(

Все над красным Hat и Java 6 на JBOSS 4.3

Кто-нибудь знает, что не так с моей процедурой?

Возможно, это что-то Темное с Slf4J и JBOSS? или EJB3.0 и ClassLoaders? или 2012 год и конец света?

Заранее спасибо

+1

Попробуйте добавить параметр порога к вашему новому приложению:

+0

С ничего не изменилось :( – Kaltresian

ответ

1

Проверьте настройки ClassLoader - унифицированные загрузчиков классов в JBoss Синд мало слишком унифицированы по умолчанию (я столкнулся классов и ресурсов утечки между независимыми веб-контекстов). Попытайтесь отключить унифицированные загрузчики классов и изменить исходные настройки родителя.

Смежные вопросы