2011-02-23 5 views
2

아니면 오류가 발생합니까? 이 동작을 응용 프로그램에 구현하기 전에 가능한지 알고 싶었습니다. 잠깐만 기다려주십시오 ...지속적으로 기록되는 로그 파일을 프로그래밍 방식으로 열 수 있습니까?

참고 : Log4j를 로깅 용으로 사용하고 '로그 파일을 프로그래밍 방식으로 열기'는 버튼과 같은 GUI 구성 요소를 사용하고 있습니다.

+0

Un * x에서는 * tail -f logfile *을 사용하여 증가하는 로그 파일을 보는 것이 일반적입니다. ... – SyntaxT3rr0r

답변

2

나는 log4j를 한번도 사용하지 않았지만 log4net을 많이 사용했다 (.NET 대응). 로그의 lockingModel을 Minimal-lock으로 설정하면 로거가 실제로 로그 파일에 쓰는 동안에 만 로그 파일을 잠글 수 있습니다. 이 시점에서 응용 프로그램 자체가 파일에 대해 독점적 인 잠금을 얻지 않았는지 확인하면 로거가 쓰지 못하게하여 읽을 수 있습니다.

+0

응용 프로그램 자체가 단독 잠금을 얻지 못하게하려면 어떻게해야합니까? 잠금 및 조건을 사용하여 대기 알림 디자인을 사용해야합니까? – mre

+0

자바에서이 작업을 수행하는 정확한 방법에 익숙하지 않지만 공유를 허용하도록 스트림을 설정할 가능성이 높습니다. .Net에서 스트림을 열 때 FileShare.ReadWrite 매개 변수를 사용합니다. 비슷한 것을 찾으려고 노력해야합니다. –

1

플랫폼에 따라 다릅니다. 리눅스/유닉스에서는 작동 할 가능성이 있지만 Windows가 기본적으로 파일 잠금을 사용한다고 생각합니다. 문제가 발생할 수 있습니다.

가장 좋은 방법은 구현 플랫폼에서 간단한 실험을하는 것입니다.

+0

왜이 파일을 다운 그레이드 했습니까? – Dave

관련 문제