2012-01-10 2 views
1

(Spring.NET Common Logging을 사용하여) 내 로그 파일에 삽입 된 메시지의 마지막 줄을 받으려고합니다. 내 첫 번째 단계는 예상보다 조금 더 까다로운 파일의 이름을 검색하는 것입니다. 관련 속성/캐스트를 찾을 수 없습니다.Spring.Net Common Logging에서 로그 파일 위치/이름을 얻는 방법

나는 log4net 파일 판독기가 주어진 파일 이름을 검색하는 방법에 대한 몇 가지 기사를 찾았지만 Spring.NET Common Logging 클래스부터는 아무것도 찾지 못했습니다.

파일 이름을받은 후에 역 파일 판독기를 사용하여 성을 검색합니다. Common Logging/log4net에 의해 잠재적으로 기록되는 동안 파일을 읽는 것에 대한 사람들의 생각이 궁금하십니까?

enter image description here

답변

1

당신은 로깅 인프라 서면에 대한 열려있는 동안 읽기 위해 파일을 열 수있을 것입니다,하지만 "마지막"라인을 읽을 수있는 계획에 대해 조금 걱정. 파일을 열어야하는 지점과 파일을 열어 파일을 열어 읽는 지점에서 로그 파일에 항목을 쓸 수 있기 때문에 원하는 줄을 얻을 수 없을 수도 있습니다. 로그에서 '마지막'행으로 가정합니다.

일부 오류 조건에 응답하고 해당 오류와 관련된 상관 관계가있는 로그 항목을 얻는 방법이라고 가정합니다. 그렇다면 '마지막'줄을 읽음으로써 로그 파일에서이 정보를 수집하지 말고 적절한 로그 항목 (예 : 날짜/시간 또는 기타 정보를 찾기 위해 파일을 구문 분석 할 것을 권장합니다. 마지막').

그렇지 않으면 단순한 테스트 시나리오에서는 올바른 로그 항목을 얻을 수 있지만 실제 병렬로드가 적용되는 생산 시스템에서는 그렇지 않을 수 있습니다. 여기에 단지 2 센트 ...

+0

사실은 오류 조건이 아닙니다. 로그에 log4net을 사용하여 로그 한 메시지가 기록 된 다음 파일을 다시 읽음으로써 마지막 메시지 및 유사한 기능을 재생하려고합니다. 아무것도 상태 메모리에 저장되어서는 안됩니다. 로깅 인프라를 사용하여 파일 이름을 얻으십시오. 내 질문이었습니다. 명확한 속성이 없으므로 어떻게 가져올 수 있습니까? – David