라이브 웹 응용 프로그램에 일부 로깅을 주입하는 가장 빠른 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1266406

문제

하나의 특정 시나리오에서 실패한 라이브 웹 응용 프로그램이 있으며 로컬에서는 잘 작동합니다. 원격 디버깅 설정이 없으며 코드의 일부 변수의 값을 확인하고 싶습니다. 해당 값을 볼 수 있도록 코드를 로그/이메일/디버그하는 가장 빠른 방법은 무엇입니까?

분명히 말하면 오류/예외가 발생하지 않습니다. 무언가가 다르고 응용 프로그램이 예상치 못한 결과를 제공합니다.

미리 감사드립니다!

도움이 되었습니까?

해결책

그만큼 가장 빠른 방법은 Global.asax 파일 내에서 Application_error 이벤트에서 일부 로깅을 구현하는 것입니다. Global.asax 파일이없는 경우 새 파일 Wizard와 함께 하나를 작성하면 해당 이벤트를 처리합니다.

오류 범위에서 로컬 변수에 도달하는 데 도움이되지는 않지만 그곳에서 글로벌 변수를 기록하고 적어도 오류가 무엇인지에 대한 피드백을 얻을 수 있습니다.

편집 : 의견에 응답하여 추적 데이터를 분석 할 수있는 파일로 출력하는 것이 좋습니다. 나는 이것을 직접 시도하지 않았지만 권장하는 것을 보았다. web.config에 a라는 것을 추가하십시오 tracelistener 그렇게 :

<system.diagnostics>
<trace autoflush="true">
<listeners>
<add name="TestTracer"
type="System.Diagnostics.TextWriterTraceListener, System,
Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
initializeData="<app root directory>\Asptesttrace.log" />
</listeners>
</trace>
</system.diagnostics>

당신은 현지에서 그것을 가지고 놀아야 할 것입니다. 예를 들어, 트레이스가 클라이언트에게 보이지 않는지 확인하십시오 (추적 클래스를 사용하여 추적을 켜거나 끄고 끄는 스트림을 변경할 수 있음).

다른 팁

Joshjordan의 의견 외에도 사용할 수 있습니다. 게시물 샤프 메소드가 입력되어 종료되지 않을 때마다 추적하고 어떤 값이 들어오는지 확인하십시오 ...

항상 로컬 디버깅 전용 디버깅을 켜고 서버를 원격으로 켜고 앱을 사용할 수 있습니다.

문제를 보는 가장 빠른 방법 일 수 있습니다.

나는 asp.net trace와 함께 시도 할 것이다 (http://www.4guysfromrolla.com/webtech/081501-1.shtml) 빠른 로깅. 코드에 trace.write () 호출을 추가해야하며 라이브 페이지 자체의 로그를 볼 수 있습니다 (브라우징만으로).

더 풍부한 로깅의 경우 Log4Net (Google "Log4Net을 사용하여"유용한 링크를로드 할 수 있습니다)은 쉽게 구성 가능하며 이메일을 통해 로그를 보낼 수 있습니다 (놀랍도록 편리합니다!).

도움이되기를 바랍니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top