私は最終プロジェクトにlog4jを使用しています。私は私のプロジェクトでlog4jを使用する前に、単一クラスを使ってテストしました。それはうまくいった。
それから私は私のプロジェクトにlog4jのを追加し、私が使用して多くのクラスでそれを使用する:これは私のプロパティファイルであるlog4jのすべてのクラスのアペンダーを作成する必要がありますか?
log4j:WARN No appenders could be found for logger (classes.Supplier).
log4j:WARN Please initialize the log4j system properly.
:
# Root logger option
log4j.rootLogger=DEBUG, file
log4j.rootLogger=DEBUG, errorfile
# Redirect log messages to console
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.errorfile=org.apache.log4j.RollingFileAppender
# Redirect log messages to a log file, support file rolling.
log4j.appender.file.File=C:\\HardwareLog\\INFO.log
log4j.appender.file.MaxFileSize=5MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
log4j.appender.errorfile=C:\\HardwareLog\\ERROR.log
log4j.appender.errorfile.Threshhold=ERROR
log4j.appender.errorfile.MaxFileSize=5MB
log4j.appender.errorfile.MaxBackupIndex=10
log4j.appender.errorfile.layout=org.apache.log4j.PatternLayout
log4j.appender.errorfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
final static Logger logger = Logger.getLogger(Supplier.class);
は、その後、私は警告を得ました
- クラスを使用するために、各クラスのアペンダーを作成する必要がありますか?
- 異なるパッケージで1つのプロパティファイルを使用できますか?
クラスごとにアペンダーを作成する必要はありません。 Caladianの回答を参照してください[http://stackoverflow.com/questions/3495443/how-to-implement-use-log4j](http://stackoverflow.com/questions/3495443/how-to-implement-use-log4j) log4jの実装方法 –
通常は、単一のクラスではなく、パッケージ用のアペンダーを作成します。パッケージ用のアペンダーを作成すると、そのアペンダーはそのパッケージ内のすべてのクラスと、そのパッケージのすべてのサブパッケージ内のすべてのクラスに適用されます。 – deepblue
ありがとうございました – Malinda