나는 이상한 문제가 생겨서 도움을 요청합니다. 나의 수색이 명확한 결과를주지 않았다는 사실에 비추어, 나는 명백한 무언가를 다만 잊었다, 그러나 나는 그것이 인 무슨 이해할 수 없다.lost launch4j의 로그백 구성
그래서 Java에는 프로그램이 있습니다. ("자원"경로에 logback.xml) Logback 구성 :
<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}
그리고 넷빈즈에서 잘 작동합니다.
하지만이 (Gradle shadow 및 launch4j 플러그인을 사용하여) Windows에서 Exe를 작성하면 속성 파일이 무시 된 것 같습니다. 내 exe를 시작할 때마다 내 모든 로그가 올바른 위치에있는 "destination_IS_UNDEFINED"파일 (exe 파일과 같은 폴더에 있음)이 있습니다. "logback.xml"의 파일 이름을 "하드 코드"하면 예상대로 작동하지만 왜 "속성"을 읽을 수 없습니까? 그들은 Jar에 있으며, Launch4j는 exe 파일을 생성하고 거기에는 또 다른 속성 인 File이 있습니다.이 프로그램은 올바른 프로그램을 읽습니다.
<property resource=".\app\LOG.properties" />
여기에 오류가 있습니다 ... 분리 기호로 "/"를 시도했지만 어쨌든 도움이되지 않았습니다. 나는 틀린 무엇을 doung인가?
사실 내가 질문이 하나 더 있습니다 : jar 파일의 등록 정보를 저장하는 올바른 방법은 무엇입니까? 내 모든 속성 (IDE에서와 마찬가지로)이있는 폴더를 갖는 것이 좋을 것이고 사용자는 프로젝트를 다시 컴파일하지 않고 변경할 수 있습니다 ("* .exe"프로그램은이 파일을 "읽어야"합니다). Jar 대신 폴더). 나는 그것이 everione에 의해 1000 번 만들어 졌다고 확신한다. 거기에 어떤 샘플이나 설명이 있습니까 (어쩌면 내가 잘못 찾고, 왜냐하면 나는 영어로 충분하지 않다, 내가 원하는 것을 찾을 수 없다는 것을 알고 있기 때문에).
고맙습니다.
EDITED : 이렇게 첫 번째 "문제"가 해결되어 정말 바보 같았습니다. 추가 점이있었습니다. 누구든지 두 번째 질문에 대한 조언이 있습니까?
안녕하세요! 그래, 오류가 있지만 거기에 무엇이 잘못 ... "응용 프로그램"폴더 IDE에서 "자원"및 컴파일 된 JAR "루트"에 있습니다. 그러나 내가 쓴 것처럼, 나는 또한 프로그램이 올바른 것을 읽는 다른 속성들을 가지고있다 ... –
오 마이 갓 ... " "잘못된":))))) –