2010-06-17 2 views
4

내 응용 프로그램에서 Log4Net API를 사용하여 중요한 이벤트 나 정보를 기록하고 데이터베이스에 예외를 기록합니다.log4net appender가 데이터베이스에 쓰지 못하는 경우이 예외를 로그하는 방법?

Log4Net API를 사용하는 동안 예외가있을 수 있습니다. 데이터베이스에 로그인하는 데 실패하면이 예외는 어떻게 저장됩니까? Log4Net API가 로깅을 수행하지 못할 경우를 대비하여 다른 모든 로깅 및 예외 로깅은 어디에 저장됩니까?

+0

이것은 일반적인 장애 조치 시나리오입니다. 이 게시물을보십시오 : http://stackoverflow.com/questions/836385/log4net-dynamically-switch-appender-between-adonetappender-and-rollingfileappen 그리고 "Appenders"에 대한 자세한 정보는 입니다. http : // www. beefycode.com/post/Log4Net-Tutorial-pt-3-Appenders.aspx – mascab

답변

3

Log4net이 자동으로 실패하여 응용 프로그램의 기본 기능이 방해받지 않습니다. 데이터베이스에 절대적으로 있어야하는 이벤트가 있으면 비즈니스 논리의 일부로 만들어야합니다. 즉, 직접 데이터베이스에 기록해야합니다.

log4net을 사용하려면이 로직을 사용하여 모든 이벤트가 데이터베이스에 기록되도록하는 failover 논리가있는 appender를 작성할 수 있습니다. 그러나 이것은 좋은 생각으로 보이지 않습니다 ...

정상적인 로깅 : 로그를 갖기 위해 나는 보통 다른 appender들과 함께 rolling appender를 사용합니다. 이렇게하면 최악의 경우 파일에서 로그를 사용할 수 있습니다.

관련 문제