2012-03-29 2 views
1

asp.net mvc3 및 nhibernate 3.2를 사용하여 응용 프로그램을 빌드 할 예정입니다. 나는 Elmah를 사용하여 모든 오류 메시지를 기록하기로 결정했습니다.왜 Log4Net이 nhibernate에 필요합니까?

나는 nhibernate가 log4net을 지원하고 모든 쿼리를 기록하는 데 사용하는 것을 기억합니다. 로그 파일에 쿼리를 출력하는 것에 대해 신경 쓰지 않는다면, nhibernate 프로파일 러를 사용하여 log4net에서 Elmah로 swtiching하는 다른 이유는 무엇입니까?

답변

1

당신이 적극적으로 NHibernate의 로깅 능력을 사용하든 안하든, NHibernate 라이브러리의 코드는 log4net에 의존하므로 NHibernate DLL을로드하기 위해 NHibernate에 log4net DLL을 사용할 수 있어야합니다. 이 문제를 해결하려면 NHibernate 소스를 다운로드하고 log4net의 사용을 제거하도록 수정하십시오 (로깅 기능을 완전히 제거하거나 Elmah로 대체).

일반적으로 코드를 개발할 때 어떤 라이브러리를 사용하는지주의해야합니다. 사용자가 실제로 앱을 실행하게 만들지 않아도 앱을 많이 사용할수록 더 많은 앱이 필요하기 때문입니다. 참조 된 코드의 한 줄.

+0

정말 고마워요. 나는 log4net dll을 거기에서 떠날 것이고, 단지 그것으로 아무것도하지 않을 것이라고 생각한다. 그건 그렇고, web.config 파일에서 모든 log4net 설정을 제거했습니다. 괜찮 니? – qinking126

+0

log4net은 구성이 없다면 오류없이 무엇을해야하는지 알 수있을만큼 강력해야하기 때문에 예라고 말하고 싶지만 전체 시스템을 철저히 테스트해야합니다. – KeithS

+0

이 답변은 정확하지 않습니다. NHibernate는 log4net에 대한 의존성을 제거했다. 교활한 대답이 올바른 것입니다. –

4

NHibernate 3에서 log4net에 대한 긴밀한 의존성이 깨졌습니다. example에 대한 nlog와 함께 쉽게 사용할 수 있습니다.