2012-04-13 3 views
7

내 ASP.NET 응용 프로그램에서 어딘가에 로그에 줄을 쓰게하고 싶습니다. IIS는 ASP.NET 로그 메시지를 기록하는 기본 제공 방법을 제공합니까? System.Diagnostics.Debug.WriteLine()에 대한 호출을 캡처하는 방법이있을 수 있다고 생각했지만 어떤 방법으로도 찾을 수 없습니다.ASP.NET 응용 프로그램에서 IIS 로그에 쓰기

답변

8

Debug.WriteDebug.WriteLine을 캡처하려면 DebugView from sysinternals을 사용하십시오. 당신이 Debug=true하거나 다른 기능과 함께 컴파일해야 물론

http://technet.microsoft.com/en-us/sysinternals/bb896647

는 전혀 호출되지 않습니다. 따라서 Debug.Write는 실시간으로 테스트 할 수있는 좋은 방법이며 응용 프로그램을 디버깅하는 것이지 일반적으로 오류를 기록하는 솔루션은 아닙니다. 오류를 저장하려는 경우에는 다른 사용자 제안 중 하나의 라이브러리를 사용하거나 이벤트 뷰어에서 오류를 직접 작성해야한다고 생각합니다.

PS : 은 어떤 이유로 버전 4.78 내 윈도우 XP에서 작동하지 않습니다 그리고 난의 Debug.WriteLine 디버그 출력에 기록 알고있는 나는 4.77

+0

이것은 완벽합니다. 감사합니다. – McGarnagle

+0

Windows 10과 호환됩니까? – Milad

+0

@Milad 예, 개발자로서 매우 자주 사용합니다. 어떠한 이유로 든 무언가가 보이지 않는다면 관리자 모드에서 응용 프로그램을 실행하십시오. – Aristos

0

로 전환. 디버거에서 볼 수 있으며 거기에서 저장할 수 있습니다. 그것은

는 응용 프로그램 전체 오류 로깅 기능, 당신은 ELMAH을 시도 할 수 있습니다 .. Debug Class

  1. 디버그 클래스 회원입니다 조건부 Attritubte See this Answer for explanation

를 로그 파일을 기록하지 않습니다 완전히 을 플러그 할 수 있습니다. 실행중인 ASP.NET 웹 응용 프로그램 또는 컴퓨터의 모든 ASP.NET 웹 응용 프로그램 ( )을 다시 컴파일하거나 다시 배포 할 필요없이 동적으로 추가 할 수 있습니다.

또는 당신이 시도 할 수 Log4Net 내가 일반적으로 할이 제 3 자 로깅 프레임 워크를 사용하여 구성 파일을 통해 프레임 워크 (재 컴파일 즉 필요 없음)를 구성하는 것입니다 무엇

1

. 내가 사용하고

프레임 워크는 다음과 같습니다

  • log4net - Windows 이벤트 로그 또는 데이터베이스 또는 로그 파일과 같은 다른 표적에 쓸 수있는 소위 "펜더"많이있다.
  • NLlog - log4net보다 사용하기 쉬운 로깅 프레임 워크입니다.

작성중인 로그 항목을 실제로 트리거하려면 응용 프로그램에 적절한 로그 함수 호출을 삽입해야합니다.

질문 제목에는 IIS와 동일한 로그 (파일)에 쓰기를 원한다고되어 있으므로; 이 요구 사항을 해결하는 방법을 알지 못합니다 (왼쪽에 혼자서이 작업을 수행하는 이유를 상상할 수 없음)

6

Response.AppendToLog()를 시도하면 IIS 로그 파일에 기록됩니다. 추가 소프트웨어가 필요하지 않으므로 좋습니다.유일한 단점은 로그 파일이 커질 수 있다는 것입니다. 주로 IIS 로그에 기록 된 콘텐츠를 식별하는 데이 파일을 사용합니다. 예 : 로그인 할 때 user-name을 쓰면 세션을 추적 할 수 있습니다.

+1

'Response.AppendToLog()'를 사용할 때 로그가 저장되는 곳 – Abhijeet

+0

출력은 IIS 로그 파일의 로그 라인에 추가되지만 URL 인코딩 됨 (W3C 형식 공백은'+'등으로 대체됩니다. 그것을 신중하게보세요 :) – rustyx

관련 문제