여러 파일을 동시에 실행하여 동일한 파일에 기록하려고합니다.Enterprise 라이브러리를 사용하여 여러 프로세스에서 동일한 파일로 로깅 4.1
우리는 엔터프라이즈 라이브러리 4.1 로깅 응용 프로그램 블록 (RollingFlatFileTraceListener
)을 사용하고 있으며, 두 프로세스가 다음 위치에서 로그 파일에 쓸 때 로그 파일 이름에 GUID를 추가한다는 점만 제외하면 정상적으로 작동합니다. 같은 시간 (내가 믿는 System.Diagnostics.TextWriterTraceListener
의 버릇).
로그 파일에 기록한 후에 Logger.Writer.Dispose()
을 호출하는 것을 포함하여 여러 가지를 시도했지만 로그 항목이 기록 될 때마다 차단 호출을하는 것은 이상하지 않습니다.
EntLib 포럼에서는 배포자 서비스와 함께 MSMQ를 사용하는 것이 좋지만 MSMQ는 회사에서 허용되지 않으므로 옵션이 아닙니다.
여러 스레드/프로세스에서 동일한 파일로 쉽고 빠르게 로그 할 수있는 또 다른 방법이 있습니까?
대체 솔루션을 얻었습니까? 어쩌면 *** MSMQ ***을 사용하고 있습니까? – Kiquenet
@Kiquenet 오랜 시간이 지났습니다. 기억이 없습니다. 만약 내가 열심히 노력한다면, 우리는이 문제를 해결하기 위해 서로 다른 프로세스에 대해 서로 다른 로그 파일을 사용하는 것을 기억하고 있습니다. 이상적은 아니지만 일을 단순하게 유지하고 싶었습니다. – Riko
지금 로깅 프레임 워크를 선택해야한다면 Enterprise Library에서 가능한 한 멀리 떨어져 있어야합니다. 그것은 사용하기 쉽고 구성하기가 너무 복잡하며 쉽게 확장 할 수 없습니다. 나는 아마도 [log4net] (https://logging.apache.org/log4net/) 또는 [NLog] (http://nlog-project.org/)로 갈 것이다. – Riko