2

私はlog4jが初めてで、Javaアプリケーションに次のlog4j.propertiesファイルがあります。websphere 6.1でこれに取り組んでいます

log4j.properties ファイル

log4j.rootLogger=情報、コンソール

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout

log4j.package_name=デバッグ

ただし、アプリケーションの一部として 1 つのプロジェクトのみを使用している場合、これは機能します。複数のプロジェクトがあり、ログ機能を使用したい場合、logger.isDebugEnabled() は常に false を返します。

前もって感謝します

4

1 に答える 1

2

Websphere は、各 EAR のデフォルトにクラスローダーを使用します。複数の Web モジュールまたは EJB モジュールと、log4j 用の複数のファイルがある場合、クラスローダによってロードされるのは 1 つだけです。

EAR 内の複数のプロジェクトで log4j を構成するには、強力で使いやすいロギング システムを参照してください。

# Set root logger level to INFO and appender to STDOUT.
log4j.rootLogger=INFO, STDOUT

#------------------------------------STDOUT-----------------------------------#
# STDOUT is set to be a ConsoleAppender.
log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender

# STDOUT uses PatternLayout.
log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout
log4j.appender.STDOUT.layout.ConversionPattern=%d %-5p (%c.java:%L).%M - %m%n

log4j.appender.STDOUT.Encoding=UTF-8

#-----------------------------------------------------------------------------#

# Specify the logging level for loggers from other libraries

log4j.logger.org.apache.commons.beanutils.BeanUtils=DEBUG

log4j.logger.org.apache.struts.action=DEBUG

log4j.logger.org.apache.struts.tiles=DEBUG

log4j.logger.org.apache.struts.util.ModuleUtils=DEBUG
log4j.logger.org.apache.struts.util.RequestUtils=DEBUG
log4j.logger.org.apache.struts.util.PropertyMessageResources=ERROR

log4j.logger.com.ibm._jsp=DEBUG

log4j.logger.特定のパッケージごとに接頭辞が欠落している可能性があります。

http://logging.apache.org/log4j/1.2/manual.htmlで log4j の詳細を参照してください。

于 2013-04-23T07:15:13.453 に答える