Я сделал новую программу с 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 год и конец света?
Заранее спасибо
Попробуйте добавить параметр порога к вашему новому приложению: –
С ничего не изменилось :( – Kaltresian