내가 log4j에 문제가, 오전 서비스로 실행 재생을 설정하려면이 Ubuntu Upstart script를 사용하려고하고 있어요. 스크립트는 본질적으로 다음을 수행합니다.Play의 현재 디렉토리를 앱의 홈 디렉토리로 설정하는 방법은 무엇입니까?
start-stop-daemon --start --exec /home/ubuntu/programs/play/current/play
--chuid ubuntu:ubuntu -- start /home/ubuntu/myapp/src/ --%id
재생이 정상적으로 시작되지만 log4j 파일을 만들지 못합니다. start-stop-daemon
이 log4j 폴더를 올바르게 설정하지 않았다고 생각합니다. Log4j는 상대 경로 logs/play.log
에 로그 파일을 생성하도록 구성되며 /home/ubuntu/myapp/logs/play.log
으로 변환됩니다. 폴더 /home/ubuntu/myapp/logs/
가 존재하지 않습니다,하지만 플레이를 시작할 때 나는이 오류가 발생합니다 :
의 log4j : ERROR setFile를 (NULL, TRUE) 호출이 실패했습니다. java.io.FileNotFoundException : 로그/play.log (해당 파일 또는 디렉토리) java.io.FileOutputStream의에서 java.io.FileOutputStream.open (기본 방법) 에서 (FileOutputStream.java:212) 에서. 재생에 대해 "현재 디렉토리"플레이 아니라는 것을 의미 java.io.FileOutputStream의. (FileOutputStream.java:136) org.apache.log4j.FileAppender.setFile에서 (FileAppender.java:294)
집에있는 것이 아니라 오히려 다른 것. 이제 절대 log4j 경로를 제공하여 변경할 수 있지만 해킹처럼 보입니다. 그리고 Play 현재 폴더에 의존하는 다른 구성 요소가 비슷한 문제를 일으키는 지 궁금합니다.
그래서, 내가 Play의 현재 디렉토리를 확인 할 수있는 방법 응용 프로그램의 홈 디렉토리와 동일합니다?
? 해당 OS에 대한 시작 - 정지 - 데몬은 없습니다. 감사. – Meglio
@ 메글 리오 - 확실하지 않습니다. 이것에 대해 새로운 질문을하십시오. – ripper234