로그 대 로그 4 넷 비교 방법

닷넷 응용 프로그램에 대한 로깅 프레임 워크를 선택할 때 모두 로그와 로그 4 넷은 매우 인기있는 두 가지 선택 사항입니다. 이 게시물에서는 프레임 워크와 차이점 모두에 대해 모두 배우게됩니다. 프레임 워크 중 하나 또는 둘 다를 모르는 사람들을 위해 각 프레임 워크에 대해 몇 마디 시작하겠습니다.

로그 4 넷

아마도 블록에서 가장 오래된 로깅 프레임 워크 일 것입니다. 2001 년에 네오워크스가 개발한 내부 아파치 로그 4 포트였다. 이 프로젝트는 신속하게 소스 포지(2001 년 깃허브)로 이동하고 아파치 라이센스하에 릴리스되었습니다. 그 이후로,로그 4 넷 응용 프로그램에 로깅을 추가 하기 위한 닷넷 세계에서 가장 인기 있는 선택 중 하나 되었습니다.여기서 로그 메시지를 다른 데이터 저장소로 라우팅할 수 있습니다. 그러나 구조화되지 않은 문자 메시지이기 때문에 로그 포넷과 노스큐클은 정확히 함께 작동하지 않습니다.

노 로그

로그 4 넷이 빠르게 기본 선택이되었지만 대안이 나타나기 시작했습니다. 아마도 로그 4 넷의 지배력에 대한 최초의 실제 경쟁자는 노 로그 였을 것입니다. 원래 자렉 코왈 스키에 의해 거의에서 풀 요청 개발 100 사람들,노 로그는 훌륭한 대안이다. 로그 4 넷 꽤 많이 2006 에서 여전히 서있는 동안,노 로그는 계속 진행. 자렉은 구글에서 시작할 때 플러그를 당겨 듯 있지만,지역 사회는 한 단계 듯 새로운 릴리스는 여전히 흐르고있다.

로그 4 넷과 마찬가지로 로그에는 여러 로그 대상이 포함되어 있으며 다양한 데이터 저장소에 메시지를 기록 할 수 있습니다.

구성

모든 로깅 프레임워크에는 어떤 종류의 구성이 필요합니다.

로그 4 넷

로그 4 넷은 앱을 통해 구성됩니다.구성 파일 또는 전용 로그 4 넷.구성:

농 로그

농 로그를 통해 구성 할 수 있습니다. 이 응용 프로그램은 당신이 당신의 웹 사이트에 액세스 할 수 있습니다.

로깅 메시지

응용 프로그램에서 메시지를 로깅하는 경우 로그 4 넷과 로그가 매우 유사하게 작동합니다.

:

var log = LogManager.GetLogger(typeof(Bar));log.Debug("Hello World");

다양한 상황별 옵션을 사용하여 로그 메시지에 추가 로그 정보를 첨부할 수 있습니다:

로그 4 넷을 사용하여 로그 메시지에 정보를 직접 포함할 수 있지만 의미 로깅은 지원되지 않습니다.대상 집합에 메시지를 로깅하기 위해 로그 4 넷과 유사한 기능을 제공합니다.:

var logger = NLog.LogManager.GetCurrentClassLogger();logger.Debug("Hello World");

추가 속성도 첨부 할 수 있습니다:

var msg = new LogEventInfo(LogLevel.Debug, "", "Hello World");msg.Properties.Add("Application", "MyCoolApp");logger.Debug(msg);

최신 버전의 노 로그는 의미 로깅을 지원합니다. 로그 메시지에 의미 체계를 추가하려면 중괄호 구문을 사용합니다:

logger.Info("Order {orderid} created for {user}", 42, "Kenny");

결론

우승자를 선택하는 것은이 게시물의 목표가 아닙니다. 두 로깅 프레임 워크 모두 자체 장점과 단점이 있습니다.

로그 4 넷

장점