5
나는 몇 달 동안 Log4Net을 사용하고, 나는 다음과 같이 각 클래스의 멤버 변수로 새로운 로거를 만듭니다Log4Net : 로거를 얻는 방법?
는// Member variables
private readonly ILog m_Logger = LogManager.GetLogger("MyClass");
은 그럼 클래스의 각 메소드에서 로거를 호출하는 로그와 같은 이 :
// Initialize
m_Logger.Info("MyClass.MyMethod() invoked.");
...
m_Logger.Debug("MyClass.MyMethod() did something...");
...
m_Logger.Info("MyClass.MyMethod() completed.");
이 방법을 사용하지 않는 어떤 이유가 있나요, 또는 로거를 설정하는 더 좋은 방법이 있나요? 당신의 도움을 주셔서 감사합니다.
'리플렉션을 사용하여 메소드 이름 가져 오기'-하지만 스택 워크를 수행하고 메소드 이름에 대한 어셈블리 메타 데이터를 참조하려면 반사를 요청할 필요가 없습니다. 소스 파일에 방금 입력했습니다. –
예일뿐입니다. . 리플렉션을 사용하면 올바른 메소드 이름에 대한 행을 편집 할 필요없이 여러 곳으로 간단하게 잘라내어 붙여 넣을 수 있습니다. – Russ
더 이상 스레드 세이프가되지 않습니까? –