log4j.properties を作成し、../WEB-INF/classes/ に挿入しました。これがプロパティ ファイルです。
# Define the root logger with appender FA
log4j.rootLogger=Debug,FA
# Define the file appender
log4j.appender.FA=org.apache.log4j.FileAppender
# Set the name of the file
log4j.appender.FA.File=c:\log.log
log4j.appender.MaxFileSize=50MB
# Set the immediate flush to true
log4j.appender.FA.ImmediateFlush=true
# Define the layout for file appender
log4j.appender.FA.layout=org.apache.log4j.PatternLayout
log4j.appender.FA.layout.ConversionPattern=%d{MM/dd HH\:mm\:ss} %-5p %30.30c %x - %m\n
起動時に実行されるクラスに単純な LOG ステートメントがあります。コンソールに表示されているので、LOG ステートメントは正常に機能しています。
JBoss 5.1の内部Log4jが優先されているようで、オンラインで見つけたものは何も修正していません。
試して報告できる提案、または提供する必要がある追加情報はありますか?
みんな、ありがとう!
編集:
プロパティファイルからxmlに変更しました。ここにxmlがあります
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Threshold" value="INFO" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p %c{1} - %m%n" />
</layout>
</appender>
<appender name="fileAppender" class="org.apache.log4j.FileAppender">
<param name="Threshold" value="INFO" />
<param name="file" value="program.log" />
<param name="append" value="true"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p %c{1} - %m%n" />
</layout>
</appender>
<logger name="com.program">
<level value="debug" />
<appender-ref ref="console"/>
<appender-ref reg="fileAppender" />
</logger>
</log4j:configuration>
会社名とプログラムの名前を「com.program」に変更したので、これらは単なるプレースホルダーです。
編集:
ディレクトリ構造は次のとおりです。
src
---main
---java
---resources
---webapp
---META-INF
---WEB-INF
---classes
+log4j.xml
+jboss-deployment-structure.xml
Maven pom.xml
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
<scope>provided</scope>
</dependency>