简体   繁体   English

SLF4J Log4J Jboss 4.3和EJB 3.0

[英]SLF4J Log4J Jboss 4.3 and EJB 3.0

I made a new program with ejb3 + slf4j with maven 我用Maven用ejb3 + slf4j制作了一个新程序

To use SLF4J with LOG4J I have 要将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>

But I said dont put the jars of log4j in my ear to use the jar of JBOSS 但是我说过不要把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 has a configuration file named jboss-log4j.xml Jboss有一个名为jboss-log4j.xml的配置文件

inside the root says use the appende ASYNC 在根内部说使用附录ASYNC

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

The appender Async use the appender FILE 附加器异步使用附加器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>

And the appender FILE is 追加文件FILE是

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

This appender is working many things are writed in this file. 该附加程序正在工作,许多事情都写入了该文件。

But I want a new file for my service 但是我需要一个新文件来提供服务

I added a category, the name of the category is the name of the package who contanins all my new develop 我添加了一个类别,该类别的名称是包含我所有新开发内容的软件包的名称

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

And The appender is 而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>

And Finaly mi EJB imports de SLF4J 并且Finaly mi EJB导入了SLF4J

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

create de logger 创建记录器

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

and used 并使用

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

The Log file (ws-mysystem.log) is created, but still at zero bytes :( 日志文件(ws-mysystem.log)已创建,但仍为零字节:(

All is over Red Hat and Java 6 on JBOSS 4.3 全部通过JBOSS 4.3上的Red Hat和Java 6进行

Somebody knows what is wrong with my procedure? 有人知道我的程序出了什么问题吗?

Maybe is something Dark with Slf4J and JBOSS? 也许Slf4J和JBOSS有点黑暗? or EJB3.0 and ClassLoaders? 还是EJB3.0和ClassLoader? or 2012 and the end of the world? 还是2012年和世界末日?

Thanks in Advance 提前致谢

Check classloader settings - unified classloaders in JBoss sind little too unified by default ( I encountered class and resource leaks between independent web contexts). 检查类加载器的设置-默认情况下,JBoss中的统一类加载器的统一性太低(我在独立的Web上下文之间遇到类和资源泄漏)。 Try to disable unified classloaders and change parent first settings. 尝试禁用统一的类加载器并更改父级优先设置。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM