2012-01-20 77 views
2

我做了一個新的程序與EJB3 + SLF4J與MavenSLF4J Log4J的Jboss的4.3和EJB 3.0

要與LOG4J使用SLF4J我

<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文件

插件IDE根說,使用appende異步

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

異步使用的appender FILE

<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 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> 

該附加目的地的工作很多事情都所著這個文件。

但我希望有一個新的文件對我的服務

我加了一個類別,該類別的名稱是包的誰contanins我所有的新的發展

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

和附加器是名稱

<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)被創建,但仍處於零個字節:(

一切都完了紅JBOSS 4.3上的Hat和Java 6

有人知道我的程序出了什麼問題嗎?

也許是黑暗的東西與SLF4J和JBOSS?或EJB3.0和類加載器?或2012年與世界的盡頭?

由於提前

+1

嘗試向您的新appender添加閾值參數:

+0

nothing :( – Kaltresian

回答

1

檢查類加載器的設置 - 在JBoss的小信德默認情況下,過於統一(獨立網絡環境之間我遇到類和資源泄漏)統一的類加載器。嘗試禁用統一的類加載器和改變家長首先設置。