カスタム log4j を使用して EJB を構成しました ここに私の log4j xml ファイルがあります
<appender name="sptLogs" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="D:/temp/logs/sm-ent/support.log" />
<layout class="org.apache.log4j.PatternLayout">
<!-- <param name="ConversionPattern" value="%m%n" /> -->
<param name="ConversionPattern" value="%d{DATE} %5p %c{1}:%L - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="INFO" />
<param name="LevelMax" value="FATAL" />
</filter>
</appender>
<appender name="appLogs" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="D:/temp/logs/sm-ent/app.log" />
<!--
<param name="File" value="/usr/local/2-tomcat_integration/webapps/SanMarWebService/logs/app.log"/>
-->
<param name="Threshold" value="DEBUG"/>
<param name="Append" value="true" />
<param name="maxFileSize" value="5MB" />
<param name="maxBackupIndex" value="20" />
<layout class="org.apache.log4j.PatternLayout">
<!-- <param name="ConversionPattern" value="%d %-4r [%t] %-5p %c %x - %m%n" /> -->
<param name="ConversionPattern" value="%d{DATE} %-5p %-15c{1}:%M() %m%n"/>
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="DEBUG" />
<param name="LevelMax" value="FATAL" />
</filter>
</appender>
<appender name="errorfile" class="org.apache.log4j.RollingFileAppender">
<param name="maxFileSize" value="500KB" />
<param name="maxBackupIndex" value="20" />
<param name="File" value="D:/temp/logs/sm-ent/errors.log" />
<!--
<param name="File" value="/usr/local/2-tomcat_integration/webapps/SanMarWebService/logs/errors.log" />
-->
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{DATE} %5p %c{1}:%L - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="error" />
<param name="LevelMax" value="fatal" />
</filter>
</appender>
<logger name="com.sanmar">
<level value="DEBUG"/>
<appender-ref ref="sptLogs"/>
</logger>
<root>
<level value="TRACE" />
<appender-ref ref="appLogs" />
<appender-ref ref="errorfile" />
</root>
このようなSpring Beanを使用してLOG4Jを初期化するためにSpringを使用しています
class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="targetClass"
value="org.springframework.util.Log4jConfigurer" />
<property name="targetMethod" value="initLogging" />
<property name="arguments">
<list>
<value>D:\temp\properties\sm-enterprise-log4j.xml</value>
</list>
</property>
</bean>
しかし、私はエラーが発生しています
15:57:39,667 ERROR [stderr] (EJB default - 1) java.lang.ClassCastException: org.apache.log4j.DailyRollingFileAppender cannot be cast to org.apache.log4j.Appender
15:57:39,668 ERROR [stderr] (EJB default - 1) at org.apache.log4j.xml.DOMConfigurator.parseAppender(DOMConfigurator.java:238)
15:57:39,670 ERROR [stderr] (EJB default - 1) at org.apache.log4j.xml.DOMConfigurator.findAppenderByName(DOMConfigurator.java:171)
15:57:39,670 ERROR [stderr] (EJB default - 1) at org.apache.log4j.xml.DOMConfigurator.findAppenderByReference(DOMConfigurator.java:184)
15:57:39,671 ERROR [stderr] (EJB default - 1) at org.apache.log4j.xml.DOMConfigurator.parseChildrenOfLoggerElement(DOMConfigurator.java:502)
15:57:39,672 ERROR [stderr] (EJB default - 1) at org.apache.log4j.xml.DOMConfigurator.parseCategory(DOMConfigurator.java:415)
15:57:39,672 ERROR [stderr] (EJB default - 1) at org.apache.log4j.xml.DOMConfigurator.parse(DOMConfigurator.java:919)
15:57:39,673 ERROR [stderr] (EJB default - 1) at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:790)
15:57:39,673 ERROR [stderr] (EJB default - 1) at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:696)
15:57:39,674 ERROR [stderr] (EJB default - 1) at org.apache.log4j.xml.DOMConfigurator.configure(DOMConfigurator.java:821)
15:57:39,675 ERROR [stderr] (EJB default - 1) at org.springframework.util.Log4jConfigurer.initLogging(Log4jConfigurer.java:69)
15:57:39,676 ERROR [stderr] (EJB default - 1) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
15:57:39,676 ERROR [stderr] (EJB default - 1) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
15:57:39,677 ERROR [stderr] (EJB default - 1) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
15:57:39,677 ERROR [stderr] (EJB default - 1) at java.lang.reflect.Method.invoke(Method.java:597)
15:57:39,678 ERROR [stderr] (EJB default - 1) at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:273)
15:57:39,678 ERROR [stderr] (EJB default - 1) at org.springframework.beans.factory.config.MethodInvokingFactoryBean.doInvoke(MethodInvokingFactoryBean.java:162)
15:57:39,679 ERROR [stderr] (EJB default - 1) at org.springframework.beans.factory.config.MethodInvokingFactoryBean.afterPropertiesSet(MethodInvokingFactoryBean.java:152)
15:57:39,679 ERROR [stderr] (EJB default - 1) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514)
15:57:39,680 ERROR [stderr] (EJB default - 1) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452)
15:57:39,681 ERROR [stderr] (EJB default - 1) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
15:57:39,682 ERROR [stderr] (EJB default - 1) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
15:57:39,683 ERROR [stderr] (EJB default - 1) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
15:57:39,683 ERROR [stderr] (EJB default - 1) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
15:57:39,684 ERROR [stderr] (EJB default - 1) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
15:57:39,684 ERROR [stderr] (EJB default - 1) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
15:57:39,685 ERROR [stderr] (EJB default - 1) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:567)
15:57:39,686 ERROR [stderr] (EJB default - 1) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913)
15:57:39,686 ERROR [stderr] (EJB default - 1) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
15:57:39,687 ERROR [stderr] (EJB default - 1) at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
15:57:39,688 ERROR [stderr] (EJB default - 1) at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93)
15:57:39,688 ERROR [stderr] (EJB default - 1) at com.sanmar.service.ServiceFactory.getApplicationContext(ServiceFactory.java:26)
15:57:39,689 ERROR [stderr] (EJB default - 1) at com.sanmar.service.ServiceFactory.getValidationService(ServiceFactory.java:37)
15:57:39,689 ERROR [stderr] (EJB default - 1) at com.sanmar.service.integration.webservice.ejb.ValidationServiceBean.performValidationInventoryService(ValidationServiceBean.java:27)
15:57:39,690 ERROR [stderr] (EJB default - 1) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
15:57:39,691 ERROR [stderr] (EJB default - 1) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
15:57:39,691 ERROR [stderr] (EJB default - 1) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
15:57:39,692 ERROR [stderr] (EJB default - 1) at java.lang.reflect.Method.invoke(Method.java:597)
15:57:39,692 ERROR [stderr] (EJB default - 1) at org.jboss.as.ee.component.ManagedReferenceMethodInterceptorFactory$ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptorFactory.java:72)
15:57:39,693 ERROR [stderr] (EJB default - 1) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
15:57:39,694 ERROR [stderr] (EJB default - 1) at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53)
15:57:39,694 ERROR [stderr] (EJB default - 1) at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:36)
15:57:39,695 ERROR [stderr] (EJB default - 1) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
15:57:39,695 ERROR [stderr] (EJB default - 1) at org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47)
15:57:39,696 ERROR [stderr] (EJB default - 1) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
15:57:39,696 ERROR [stderr] (EJB default - 1) at org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21)
15:57:39,697 ERROR [stderr] (EJB default - 1) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
15:57:39,697 ERROR [stderr] (EJB default - 1) at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
15:57:39,698 ERROR [stderr] (EJB default - 1) at org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:53)
15:57:39,699 ERROR [stderr] (EJB default - 1) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
15:57:39,699 ERROR [stderr] (EJB default - 1) at org.jboss.as.ejb3.component.pool.PooledInstanceInterceptor.processInvocation(PooledInstanceInterceptor.java:51)
15:57:39,700 ERROR [stderr] (EJB default - 1) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
15:57:39,700 ERROR [stderr] (EJB default - 1) at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:228)
15:57:39,701 ERROR [stderr] (EJB default - 1) at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:304)
15:57:39,701 ERROR [stderr] (EJB default - 1) at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:190)
15:57:39,702 ERROR [stderr] (EJB default - 1) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
15:57:39,702 ERROR [stderr] (EJB default - 1) at org.jboss.as.ejb3.remote.EJBRemoteTransactionPropogatingInterceptor.processInvocation(EJBRemoteTransactionPropogatingInterceptor.java:80)
15:57:39,703 ERROR [stderr] (EJB default - 1) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
15:57:39,704 ERROR [stderr] (EJB default - 1) at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)
15:57:39,704 ERROR [stderr] (EJB default - 1) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
15:57:39,705 ERROR [stderr] (EJB default - 1) at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59)
15:57:39,705 ERROR [stderr] (EJB default - 1) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
15:57:39,706 ERROR [stderr] (EJB default - 1) at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
15:57:39,707 ERROR [stderr] (EJB default - 1) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
15:57:39,707 ERROR [stderr] (EJB default - 1) at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45)
15:57:39,708 ERROR [stderr] (EJB default - 1) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
15:57:39,708 ERROR [stderr] (EJB default - 1) at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
15:57:39,709 ERROR [stderr] (EJB default - 1) at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:165)
15:57:39,709 ERROR [stderr] (EJB default - 1) at org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler.invokeMethod(MethodInvocationMessageHandler.java:300)
15:57:39,710 ERROR [stderr] (EJB default - 1) at org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler.access$200(MethodInvocationMessageHandler.java:64)
15:57:39,710 ERROR [stderr] (EJB default - 1) at org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler$1.run(MethodInvocationMessageHandler.java:194)
15:57:39,711 ERROR [stderr] (EJB default - 1) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
15:57:39,712 ERROR [stderr] (EJB default - 1) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
15:57:39,712 ERROR [stderr] (EJB default - 1) at java.util.concurrent.FutureTask.run(FutureTask.java:138)
15:57:39,713 ERROR [stderr] (EJB default - 1) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
15:57:39,713 ERROR [stderr] (EJB default - 1) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
15:57:39,714 ERROR [stderr] (EJB default - 1) at java.lang.Thread.run(Thread.java:619)
15:57:39,714 ERROR [stderr] (EJB default - 1) at org.jboss.threads.JBossThread.run(JBossThread.java:122)
15:57:39,715 ERROR [stderr] (EJB default - 1) log4j:ERROR Could not parse url [file:D:/temp/properties/sm-enterprise-log4j.xml].
15:57:39,715 ERROR [stderr] (EJB default - 1) java.lang.NullPointerException
jboss モジュールを使用しており、ロギングには log4j-1.2.16 モジュールを使用しています。設定で何が間違っているのか、または何が間違っているのか、誰でも助けてくれますか? jboss-deployment-structure.xml ファイルを使用してみました
<deployment>
<exclusions>
<module name="org.apache.log4j" />
</exclusions>
</deployment>
<sub-deployment name="BusinessComponent-1.1.jar">
<exclusions>
<module name="org.apache.log4j" />
</exclusions>
</sub-deployment>
<sub-deployment name="sanmar-services-impl-1.1.jar">
<exclusions>
<module name="org.apache.log4j" />
</exclusions>
</sub-deployment>
しかし運がない。
jboss コミュニティ ディスカッションに関する私による元の投稿へのリンクは https://community.jboss.org/thread/199439?tstart=0です。