2013-02-18 3 views
0

У меня возникла проблема с тем, что мой logj2.xml отображается на моем ящике Windows7/64 с Java 1.7.0_13/64. Я пытаюсь запустить приложение с помощью IDE NetBeans/64 7.2.1 через отладчик.Файл Log4j2.xml не отображается при использовании NetBeans

log4j2.xml находится в моей директории r: \. Путь к классу (user) - «.; R: \». По-видимому, это не видно, потому что, когда я смотрю на «config.config.name» Logger в моем отладчике, он дает мне значение «Default». Кроме того, я не могу найти файл, указанный в файле log4j2.xml, где угодно, на любом диске моей машины. Я также искал любые новые файлы, содержащие слово «default» на моей машине, и не могу найти никаких текущих.

Так что я подозреваю, что я делаю 1 из 2 вещи неправильно:

1) Установка моего пути к классам неправильно. 2) Неправильно вставьте файл log4j2.xml.

Любая помощь будет оценена по достоинству. Мои ключи липнут, ударяя их по лбу.

Вот конфигурационный файл:

<?xml version="1.0" encoding="UTF-8"?> 
<configuration status="debug" name="xxx" packages="" > 
    <appenders> 
     <RollingFile name="log" fileName="qqq.log" 
      immediateFlush="true" filePattern="qqq-%d{yyyy-MM-dd}.log"> 
     <PatternLayout> 
      <pattern>"%d{YYYY-MM-dd HH:mm:ss} [%t] %-5level %logger{36} - %n%msg%n%n%n"</pattern> 
     </PatternLayout> 
     <Policies> 
      <TimeBasedTriggeringPolicy /> 
      <SizeBasedTriggeringPolicy /> 
     </Policies> 
     <DefaultRolloverStrategy max="92"/> 
     </RollingFile> 
    </appenders> 
    <loggers> 
    <root level="trace"> 
     <appender-ref ref="log"/> 
    </root> 
    </loggers> 
</configuration> 
+0

Я считаю, что проблема может быть в том, что среда IDE может не знать о переменной CLASSPATH в среде. В IDE есть текстовое поле, где могут быть добавлены параметры компилятора, и я добавлю соответствующие значения класса, чтобы указать на файл log4j2.xml. Когда я попытаюсь это сделать, я отчитаю. – joe7pak

+0

Это не сработало ... в Netbeans, помещая файлы jar в «библиотеки времени компиляции», создается путь класса defacto.Поместив '-cp blah; blahblah' в текстовое поле параметров компилятора, этот путь класса defacto больше не используется, и вы должны указать каждый отдельный файл jar в своем проекте. Возможно, есть способ заставить оба метода работать, но я не спускаюсь с этой кроличьей дыры. – joe7pak

ответ

1

Хорошо, понял. Я переименовал этот вопрос в NetBeans, потому что это было суть моей проблемы.

В обзоре требуется, чтобы файл log4j2.xml нуждался в пути к классам. Хотя я мог повлиять на путь класса в netbeans, добавив файлы jar в проект, я изначально не думал о поиске файла конфигурации в пути к классам. В любом случае, когда я это понял, я немного поиграл в свойствах проекта и, наконец, понял, что просто добавление папки в диалог «Библиотеки времени компиляции» (в данном случае «r: \») помещает файл конфигурации на classpath, и мои протоколирования работают так, как должно.

Whew!

Надеюсь, это поможет кому-то.

1

Спасибо joe7pak, ваши сообщения были последней частью головоломки, чтобы решить мою проблему свойств log4j в NetBeans. Моя проблема потребовала нескольких дополнительных шагов, которые могут помочь в решении этого решения.

Во-первых, я создал файл log4j.xml в каталоге src, используя xml по умолчанию от http://wiki.apache.org/logging-log4j/Log4jXmlFormat.

Затем я установил параметры виртуальной машины NetBeans в свойствах \ Run: -Dlog4j.debug. Я заметил, что файл log4j.xml jar's (httpbuilder) загружался по умолчанию вместо моего.

Поэтому я добавил папку src в библиотеки времени компиляции в Properties \ Libraries, используя вашу рекомендацию. Однако он по-прежнему загружал файл log4j.xml из банки.

Последним моментом было перемещение папки src в начало библиотек времени компиляции.

Спасибо за сообщение и за ответ.

 Смежные вопросы

  • Нет связанных вопросов^_^