Logger
을 추가 한 후에 제거 할 수 있습니까? 다음과 같이 말하십시오 :로거를 프로그래밍 방식으로 제거 할 수있는 기능
LogManager.GetLogger("loggerName")
제 연구에서는 불가능한 것처럼 보입니다. 내가 찾은 가장 가까운 것은 Clear
hierarchy method으로 전화하는 기능입니다. 이것은 실제로 기존의 로거를 지우지 만 선택적으로 제거하려고합니다. 가장 안전한 방법은 아닙니다.
일부 배경에서는 응용 프로그램 수명 당 수천 개의 동시 작업과 수십만 개의 작업이있을 수있는 작업 당 하나의 파일을 로깅합니다. 한 가지 방법은 각 작업에 대해 Logger
을 만든 다음 작업이 완료되면 제거하는 것입니다. 그러나 Logger
을 선택적으로 제거 할 수있는 기능이 없으면 은퇴 한 인스턴스가 메모리를 낭비하게됩니다.
물론 대안 디자인이 있습니다. 문제는 주어진 Logger
에 필요에 따라 Appenders
및 Filters
을 추가/제거하여 해결할 수 있습니다. 또한 Loggers
및 Appenders
풀을 생성 한 다음 작업별로 구성 할 수 있습니다.
특정 로거가 추가되면 제거 할 수있는 방법이 없다는 것은 명백히 쇼 스토퍼가 아닙니다. 내가 놓친 것일 수도있는 Logger
을 삭제할 수있는 방법이 있다면 궁금합니다.