JRE 1.7을 실행중인 다른 컴퓨터에 응용 프로그램을 배포 할 때 충돌하는 응용 프로그램에 문제가 있습니다. 내 PC에서 NetBeans 내부 (또는 JAR 파일에서 직접)를 실행하면 모든 것이 잘됩니다. 그러나 다른 컴퓨터에서는 실행 중 특정 이벤트 (단추 클릭)에서 실패합니다.Log4j - 로그 파일을 찾을 수 없습니다.
그래서 log4j 라이브러리를 사용하여 로깅하는 방법을 배웠습니다. 이것은 내 응용 프로그램의 문제에 대한 정보를 주었고 로깅은 내 컴퓨터에서 완벽하게 작동합니다. 그러나 JAR 파일 (Java 7 Update 17) 만 실행중인 다른 컴퓨터에 JAR 파일을 배포하면 로그 파일의 흔적을 찾을 수 없습니다. 내 컴퓨터에서
# Root logger option
log4j.rootLogger=INFO, file, stdout
# Direct log messages to a log file log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:\logging.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}
%-5p %c{1}:%L - %m%n
# Direct log messages to stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}
%-5p %c{1}:%L - %m%n
, 내가 바로 프로젝트 폴더 내부의 logging.log 파일을 볼 수 있습니다
여기 내 log4j.properties 파일입니다. 그 정도로 모든 것이 완벽하게 작동합니다. 그러나 사용자 PC에는이 파일에 대한 서명이 전혀 없습니다. C : \ Program Files (x86) \ 또는 그 밖의 다른 곳에서는 C : \가 아닙니다. 하드 디스크를 완전히 검색했지만 아무 것도 돌아 오지 않습니다.
어디에서이 파일을 저장해야합니까? 내 속성이 올바르게 설정 되었습니까? 매우 혼란 스럽습니다 ...
고마워요!
대상 컴퓨터의 사용자가 C 드라이브의 루트 디렉터리에 파일을 만들 수 있습니까? – DwB
시작하려면 속성 파일의 백 슬래시를 두 배로 만들어야합니다 :'C : \\ logging.log'. 아니면, 슬래시를 사용하십시오.'C :/logging.log' – Kenster
DwB - 예, c : \에 대한 모든 권한을가집니다. 이것이 사용 권한 문제라고 생각하지 않습니다. – Alex