내 WinForms 애플리케이션 로그인에 log4net api를 사용하고 있습니다. RollingFileAppender와 TextBoxAppender (custom appender)라는 다중 appenders가 있습니다.일부 애펜더에게만 log4net 로그 메시지가 표시됩니다.
일부 오류 메시지는 로그 파일 (RollingFileAppender)에만 기록하고 텍스트 상자 (TextBoxAppender)에는 기록하지 않으려 고합니다. 그것을 어떻게 성취 할 수 있습니까? 메시지가 동일한 레벨, 즉 모든 오류 메시지임을 유의하십시오.
감사합니다.
편집 1 :
는 특히, 난 단지 로그 파일에 간단한 UI에서 한 줄의 오류 메시지뿐만 아니라 로그 파일하지만 스택 추적을 표시합니다. 여기
당신이 기준으로 필터링 할 수 있습니다
을 당신이 비록 * * F의 적절한 응용 프로그램을 통해 (한 로거하여이 작업을 수행 할 수 있습니다 ilters) 이것은 log4net의 영향을받습니다. 당신이 일반적으로하고 싶은 것은 각각의 설정에 대해 분리 된 로거를 사용하고 적절한 로거에 appenders를 추가하는 것입니다 ('FileLogger','UILogger','UniversalLogger' 같은 것). 로거는 appender를 공유 할 수 있습니다. –
별도의 로거를 사용하더라도 동일한 수준의 메시지 (예 : 로그 수준 오류 메시지 중 일부는 UILogger에 표시됨)와 일부 로그 수준 오류 메시지 (예 : 표시되지 않음)를 필터링 할 수 있습니다. 기본적으로 당신이 제안하는 것은 logger1.Error()와 logger2.Error()와 같이 필요에 따라 두 로거를 호출해야 할 필요가있는 모든 장소입니다. – AllSolutions
여러 로거 인스턴스를 사용하여 보낼 곳이 좋을 수도 있습니다. 로그 메시지는 오직 1 개의 목적지로만 보내지 만 대다수의 경우 메시지는 로거 양쪽 모두로 전송되어야합니다 – AllSolutions