2010-01-20 6 views
1

나는이 appender 중 어느 것이 더 잘 수행되는지 (시간이 짧을수록 좋을지) 알아 내려고합니다.log4net : adonetappender와 rollingfileappender를 비교하십시오.

RollingFileAppender 또는 ADONetAppender?

appender를 선택할 때 고려해야 할 다른 매개 변수는 무엇입니까?

필자의 WebServer가 rollingfile에 "적용"되는 것을 보았습니다. 여러 응용 프로그램/서버가 동일한 파일에 쓸 수 있도록 내 롤링 파일 어 펜더에 : (log4net documentation에서 FileAppender 섹션 참조) 나는

<lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> 

뭔가를 설정할 수 있습니까?

우리의 DB 서버가 SAN 드라이브에 있지만 로그 파일이 하드 드라이브에 로컬로 기록 될 것이다 (또는 가까운 장래에 SAN 드라이브 수 있습니다)

답변

2

우리는 롤링 파일 어 펜더를 사용하여 더 나은 운이 . 우리는 네트워크 결함이 있다면 ADO.NET appender가 로깅을 중지한다는 것을 알았습니다. 예를 들어, 서비스 팩을 설치 한 후 재부팅하면 매주 로거가 종료됩니다. http://ferventcoder.com/archive/2009/07/16/log4net-note-always-keep-your-logs-on-the-same-server.aspx

나는 최소한의 잠금 장치를 본 적이 -

또한 파일 어 펜더와 함께가는 경우 같은 서버에 로그를 유지하는 것을 의미 명심하십시오. http://logging.apache.org/log4net/release/sdk/log4net.Appender.FileAppender.MinimalLock.html

+0

흥미로운 관점. 나는 DB에 로깅이 더 빠르고 더 쉬울 것이라고 생각했다. (여러 응용 프로그램이 같은 싱크에 로깅하는 것을 고려할 때) – ram

+0

우리는 똑같은 생각을하고 있었다. 데이터베이스를 동일한 서버에 보관할 수 있다면 이동하는 방법 일 수 있습니다. 우리는 응용 프로그램과 동일한 서버에 데이터베이스를 보관하지 않기 때문에 선택 사항이 아닙니다. – ferventcoder

0

저는 일반적으로 RollingFileAppender를 로컬 디스크에 사용합니다 - 이것은 강력하고 빠릅니다 (로컬 디스크에 쓸 수 없다면 일반적으로 다음과 같은 현상이 나타납니다). 치명적인 문제).

ADO.NET에 쓰기가 실패 할 수 있습니다. 예를 들어 응용 프로그램이 실행되는 동안 백업을 위해 로깅 데이터베이스를 오프라인으로 전환하는 경우입니다.

성능 오버 헤드 때문에 MinimalLock을 사용하지 마십시오. 대신 각 응용 프로그램에 별도의 로그 파일이 있습니다. 경우에 따라 통합 로그 데이터를 볼 필요가있는 경우 로그의 관련 부분을 병합하거나 뷰어에서 관련 부분을 나란히 열 수 있습니다. 당신의 ADONetAppender가 연결이 끊기면

3

, 그것은 로깅을 중지하지만, 옵션

<reconnectonerror value="true" /> 

가 다시 연결을 시도합니다.

관련 문제