Я публикую свое решение, потому что ни одно из указанных выше решений не подходит для меня.Это работает для меня под Windows XP / 7.
РЕШЕНИЕ
- Загрузите zip или tar пакет с сайта log4j [1] на свой компьютер и распакуйте скачанный файл.
- Скопируйте файл log4j-VERSION.jar на ваш LOG4J_ISTALLATION_DIR (например, c: \ javalibs \ log4j-1.2.16.jar)
- Откройте Свойства «Мой компьютер / Компьютер» (значок должен быть размещен на вашем рабочем столе,просто щелкните на нем правой кнопкой мыши и выберите «Свойства»)
- Откройте вкладку «Дополнительные параметры системы».
- Откройте вкладку «Дополнительно»
- Нажмите кнопку «Переменные среды».
- Найдите переменную CLASSPATH в области «Переменные среды», сопоставьте ее с левой кнопкой и нажмите кнопку «Изменить».
- Вставьте / введите путь к вашей библиотеке log4j - LOG4J_ISTALLATION_DIR \ log4j-VERSION.jar;(например, c: \ javalibs \ log4j-1.2.16.jar;)
- Нажмите кнопку «ОК».
- Нажмите кнопку «ОК» в окне «Переменные среды».
- Нажмите кнопку «ОК» в окне «Свойства системы».
Перейдите в командную строку и проверьте, все ли работает, попробовав пример из краткого учебного пособия log4j (см. Ниже):
cd c: \ Users \ User \ log4j
javac MyApp2.java
2012-03-30 21:32 510 Bar.class
2012-03-30 21:24 177 Bar.java
2012-03-30 21:26 334 MyApp2-log4j.properties
2012-03-30 21:32 916 MyApp2.class
2012-03-30 21:25 775 MyApp2.java
javaMyApp2 MyApp2-log4j.properties
0 [main] INFO MyApp2 - вход в приложение
2 [main] DEBUG Bar - сделал это снова
3 [main] INFO MyApp2 - выход из приложения
КОНТЕКСТ: подготовить программу, которая использует * файл jar [1] (источник проблемы):
// 1. Перейдите в исходный каталог (например, c: \ Users \ Hopbit \log4j)
// 2. Создать ниже класс Bar и сохранитьe как Bar.java
import org.apache.log4j.Logger;
public class Bar {
static Logger logger = Logger.getLogger(Bar.class);
public void doIt() {
logger.debug("Did it again!");
}
}
// 3. Создайте ниже класс MyApp2 и сохраните как MyApp2.java
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
public class MyApp2 {
static Logger logger = Logger.getLogger(MyApp.class.getName());
public static void main(String[] args) {
// BasicConfigurator replaced with PropertyConfigurator.
PropertyConfigurator.configure(args[0]);
logger.info("Entering application.");
Bar bar = new Bar();
bar.doIt();
logger.info("Exiting application.");
}
}
// 4. Создайте и сохраните файл MyApp2-log4j.propertiesкоторый содержит следующий код:
# Set root logger level to DEBUG and its only appender to A1.
log4j.rootLogger=DEBUG, A1
# A1 is set to be a ConsoleAppender.
log4j.appender.A1=org.apache.log4j.ConsoleAppender
# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
// 5. Попробуйте скомпилировать приведенный выше пример, он должен вернуть что-то вроде этого:
> c:\Users\Hopbit\log4j>javac MyApp2.java
> MyApp2.java:1: package org.apache.log4j does not exist
> import org.apache.log4j.Logger;
> ^
> // [...] SOME OTHER ERRORS HERE
LINKS & HINTS
[1] http://logging.apache.org/log4j/1.2/manual.html («Краткое введение в log4j: Ceki GŁlcŁ, март 2002»)
[2] http://logging.apache.org/log4j/1.2/download.html
[3] Вышеупомянутое решение было найдено в файле INSTALL, в котором находится пакет uder log4j,