2016-10-25 10 views
0

У меня возникла странная проблема, и я прошу вас помочь. Судя по тому, что мой поиск не дал определенных результатов, я просто забыл что-то очевидное, но я не могу понять, что это было.lost Конфигурация журнала в launch4j

Итак, на Java есть программа. Logback конфигурации (logback.xml в "ресурсы" путь):

<configuration>  
    <property resource=".\app\LOG.properties" /> 
    <appender name="STDOUT-BLACK" 
     ... 
    </appender> 
    <appender name="STDOUT-RED" class="ch.qos.logback.core.ConsoleAppender"> 
     ...  
    </appender> 

    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
     <file>${destination}</file> 
     <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> 
      <level>INFO</level> 
     </filter> 
     <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
      <fileNamePattern>${destination}.%d{yyyy-MM-dd}.%i.log</fileNamePattern> 
      <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">     
      <maxFileSize>2MB</maxFileSize> 
      </timeBasedFileNamingAndTriggeringPolicy> 
      <maxHistory>7</maxHistory> 
      <totalSizeCap>10MB</totalSizeCap>   
      <cleanHistoryOnStart>true</cleanHistoryOnStart> 
     </rollingPolicy>   
     <encoder> 
      <Pattern>%d{HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</Pattern> 
     </encoder> 
    </appender> 

    <logger name="org.hibernate.type" level="TRACE" /> 
    <logger name="org.hibernate.SQL" level="DEBUG" /> 

    <root level="DEBUG"> 
    <appender-ref ref="STDOUT-BLACK" /> 
    <appender-ref ref="STDOUT-RED" /> 
    <appender-ref ref="FILE" /> 
    </root> 
</configuration> 

дополнительный конфигурационный файл (ресурсы \ приложения \ LOG.properties):

fileName=LOGFile.log 
#destination=${DEV_HOME:-.\\logs}\\${fileName} 
destination=C:\\Temp\\${fileName} 

И это отлично работает в среде NetBeans.

BUT whean Я делаю Exe для Windows из этого (используя Gradle shadow и plug4j plugins) файл свойств, кажется, игнорируется. Каждый раз, когда я запускаю exe, у меня есть файл (в той же папке, что и exe-файл) «destination_IS_UNDEFINED», где все мои журналы сохранены правильно. Если «hardcode» имя файла в «logback.xml» работает так, как ожидалось, но почему он не может читать «свойства»? Они находятся в Jar, из которых Launch4j создает exe, и я также получил некоторые другие свойства Files, программа которых корректно читается.

<property resource=".\app\LOG.properties" /> 

Ошибка где-то здесь ... Я пробовал использовать «/» как разделитель, но так или иначе не помог. Что я плохой?

И на самом деле у меня есть еще один вопрос: что это правильный способ сохранить свойства otside Jar file? Я имею в виду, что было бы неплохо иметь папку, где все мои свойства (как и в IDE), и пользователь может их изменить без перекомпиляции проекта (поэтому программа «* .exe» должна «читать» это из этого вместо Jar). Я уверен, что он был сделан 1000 раз everione. Есть ли какой-нибудь образец или объяснение об этом в любом месте (может быть, я просто искал не то, потому что знаю, что английского недостаточно, поэтому я не могу найти то, что мне нужно).

Большое спасибо!

EDITED: Итак, первая «проблема» решена, и это было действительно глупо - была только дополнительная точка. У кого-нибудь есть совет по второму вопросу?

ответ

0

Я хотел бы, чтобы проверить следующую строку в XML

<property resource=".\app\LOG.properties" /> 

Вы уверены, что о местонахождении приложения папки?

+0

Hi! Да, ошибка есть, но что там не так ... папка «приложение» находится в «ресурсах» в среде IDE и в «root» в скомпилированном JAR. Но, как я писал, у меня есть и другие свойства, которые программа читает правильно ... –

+0

О, боже мой ... ». был неправ":)))) –

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

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