Я создал проект Java 6 в Eclipse, который использует log4j для вывода отладочной информации на консоль. Мы назовем это Project1. Нет проблем. Затем я скопировал все содержимое папки в новую папку (по-видимому, не очень хорошая идея). Затем я импортировал существующий проект в рабочую область. Мы назовем это Project2. Когда я запускаю Project2, я вижу вывод моего оператора отладки на консоль. Я использовал ConversionPattern, который включал (% F:% L), чтобы я мог щелкнуть ссылку, и Eclipse перенесет меня к этому файлу и номеру строки.
Проблема в том, что когда я нажимаю на ссылку в консоли, Eclipse переносит меня в файл в Project1, а не в Project2. Я очевидно получил некоторые провода, когда я создал Project2 путем копирования Project1. Единственный способ обойти это (пока) - переименовать файл класса, в котором есть операторы logger.debug. Я бы лучше решил большую проблему. Я прогуглил это и просмотрел сообщения log4j на этом сайте, но не могу найти решение. Ниже приведен файл log4j.properties. Любая помощь будет оценена.
log4j.rootLogger=debug, stdout, R
# log4j.rootLogger=error, stdout, R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=RevIC.log
log4j.appender.R.MaxFileSize=500KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n