디버깅에만 사용되는 데이터 집합을 수집하는 방법을 찾고 있습니다. 즉, 예외를 기록한 경우에만 데이터를 기록해야합니다. ILog.Error
으로 예외 인수를 받으면 Fatal
또는 Debug
으로 추가 정보를 기록하고 싶습니다. 예외가있는 다른 데이터를 로깅 할 때 추가 정보가 기록되지 않아야합니다.Log4net : 예외 상황에서만 로그 컨텍스트
데이터 집합을 작성하기 위해 GlobalContext 또는 ThreadContext를 사용할 계획입니다.
내 생각은 Log4Net에 연결하여 내가 상상할 수있는 이벤트에 첨부하여 컨텍스트를 포함하도록 메시지 패턴을 변경했지만 나에게 도움이되는 이벤트를 찾을 수 없습니다. 아마도 더 쉬운 방법이 있을까요?
전체적인 설계에 대해 어떻게 생각하십니까? 나는 옳은 길에 있었거나 나는 무엇인가 놓치고 있냐?
이렇게하면 어떻게 구현할 수 있습니까?
나는 그것을 얻지 못한다. 레이아웃 패턴이 다른 두 개의 appender (하나는 컨텍스트 속성을 인쇄하기위한 것이고 다른 하나는 메시지를 인쇄하기위한 것)를 만드시겠습니까? 두 개의 파일러를 만듭니다. 하나는 예외가있는 로깅 이벤트 만 허용하고 하나는 거부합니다. 그런 다음 해당하는 appender에 필터를 추가 하시겠습니까? 조금 성가신 것처럼 보입니다. – Karsten
정확합니다. 필터 클래스를 두 개 만들 필요가 없다는 점을 제외하면 두 필터 모두에서 동일한 필터를 재사용 할 수 있으며 두 필터 클래스에서 반전 된 AcceptOnMatch 설정 만 사용할 수 있습니다. 좀 더 설정 아마도,하지만 훨씬 깨끗한 접근 방식. 런타임에 패턴을 수정하면 성능에 영향을 줄 수 있다고 생각합니다. –