log4j が新しいプロジェクトでプロパティ ファイルを見つけることを拒否するという、非常に厄介な問題があります。私は、不敬な理由で jboss-logging を使用する Hibernate4 を使用しています。リソース ソース フォルダーを作成して、WEB-INF/classes に log4j.properties を作成しました。クラス フォルダーに log4j.properties が表示されるので、RAD がファイルをソースとして取得していることがわかります。次のようになります。
log4j.rootLogger=WARN, stdout
log4j.gov.usdoj=INFO
#Direct log messages to the console
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} %c{2}[%M:%L] %p %m%n
# Hibernate logging options(INFO only shows startup messages)
#org.hibernate Log everything. This is a lot of information but it is useful for troubleshooting
log4j.logger.org.hibernate=WARN
#org.hibernate.type Log all JDBC parameters
log4j.logger.org.hibernate.type=WARN
#org.hibernate.SQL Log all SQL DML statements as they are executed (like show_sql setting)
log4j.logger.org.hibernate.sql=WARN
#org.hibernate.tool.hbm2ddl Log all SQL DDL statements as they are executed
log4j.logger.org.hibernate.tool.hbm2ddl=WARN
#org.hibernate.pretty Log the state of all entities (max 20 entities) associated with the session at flush time
log4j.logger.org.hibernate.pretty=WARN
#org.hibernate.cache Log all second-level cache activity
log4j.logger.org.hibernate.cache=WARN
#org.hibernate.transaction Log transaction related activity
log4j.logger.org.hibernate.transaction=WARN
#org.hibernate.jdbc Log all JDBC resource acquisition
log4j.logger.org.hibernate.jdbc=WARN
#org.hibernate.hql.internal.ast.AST Log HQL and SQL ASTs during query parsing
log4j.logger.org.hibernate.hql.internal.ast.AST=WARN
#org.hibernate.secure Log all JAAS authorization requests
log4j.logger.org.hibernate.secure=WARN
しかし、私は意図的なエラー (XML など) をそこに入れましたが、「爆発」しないので、log4j がそれを見つけられないことは確かです。(org.hibernate.type.BasicTypeRegistry) を指す起動時に「アペンダーなし」エラーが発生します。RAD が実行する同じ jar の異なるバージョンを持っているため、ブートストラップ エリアに hibernate-jpa があります。ブートストラップ エリアに hibernate-jpa を配置しないと、Orphan ManyToOne エラーが発生します。誰かがそれに対するより良い解決策を知っているなら、私はそれをするのが嫌いなので聞きたい.
しかし、当面のトピックは、このプロジェクトの何らかの理由で、log4j でその log4j.properties ファイルを見つけることができないということです。私は、休止状態のクラスローダーの問題の犠牲者であると思われますが、log4j.jar は私の WEB-INF/lib にあります。