2009-08-06 10 views
0

저는 여러 개의 .net 응용 프로그램 (~ 100)을 관리하고 있습니다. 그들 중 일부는 데이터베이스에 로깅을 가지고 다른 사용자는 이벤트 뷰어에 기록하고 다른 사람들은 플랫 파일에 기록합니다. log4net, 엔터프라이즈 라이브러리 및 여러 사내 레거시 로깅 프레임 워크와 같은 여러 로깅 프레임 워크는 아무리 정확하게 작동하는지 아무도 모릅니다.여러 응용 프로그램의 로깅 개요

내 시스템은 주로 웹 서비스 및 스마트 클라이언트입니다.

이 모든 시스템과 다른 로거의 로깅을 나에게 무슨 일이 일어나는지에 대한 개요를 제공하는 일부 장치로 통합하는 방법이 필요합니다. 약속 한 것처럼 보이는 l4ndash를 발견했지만 l4ndash가 하나의 응용 프로그램에 대한 개요를 제공한다는 느낌을 떨칠 수 없습니다. 아무도 그것에 정교 할 수 있습니까? 이미 많은 시스템을 가지고 있으므로 이미 다른 것을 사용할 수 있습니까?

아무 것도 도움이됩니다.

답변

0

내가 제안 할 것 인 첫번째 물건은 당신이 사용하고있는 도구 또는 당신이 주문의 코드를 쓰는 지에 관계없이 집중된 로깅 시스템을 만드는 것이다. 그런 다음 중앙 집중식 (바람직하게는 배치 가능한 어셈블리)으로 응용 프로그램을 가리킬 수 있습니다. 여기서 중요한 점은 로거를 변경하려면 모든 응용 프로그램을 관리하기 위해 한 곳으로 이동해야한다는 것입니다. 순전히 인터페이스에서 작동하는 모든 응용 프로그램 내에서 추상화 레이어를 사용하여이 작업을 구현하는 것이 좋습니다. 그런 다음 응용 프로그램 수준에서 StructureMap과 같은 것을 사용하여 필요에 따라 응용 프로그램별로 물건을 교환 할 수 있습니다. 또한 로거 레벨에서 StructureMap과 같은 것을 사용하기 때문에 레벨에서 글로벌 스왑도 할 수 있습니다.

웹 스타일 앱의 경우 ELMAH를 일반 로거로 사용하는 것이 좋습니다. 나는 또한 log4net을 항상 모니터링하고있다.

+0

명확하게 할 수 있습니까? 내 모든 응용 프로그램이 log4net과 같은 로깅 프레임 워크를 사용해야한다고 말하고 있습니까? 중앙 집중식 로깅 시스템을 만들어야한다고 말하면 상자에서 작동하는 표준 솔루션이 있는지 궁금합니다. – Fadeproof

+0

Microsoft의 Enterprise Application Block을 사용할 수는 있지만 자주 부풀어 오르는 경우가 많습니다. 데이터베이스를 통해 중앙 저장소를 만들거나 MSMQ를 사용하는 것이 가장 좋습니다. 그런 다음 대기열을 지우고 기록 된 메시지를 적절하게 처리하십시오. 하지만 모든 응용 프로그램에서 사용할 수있는 중앙 집중식 로깅 래퍼가 가장 좋습니다. 그렇지 않다면 다른 프레임 워크를 통해 로그 메시지를 통보받을 수있는 중앙 집중식보고 대기열이 다음으로 가장 좋은 일이 될 것입니다. –

관련 문제