webforms 환경에서 볼 수있는 trace 문을 작성하는 방법을 알고 있지만 Windows Forms 응용 프로그램에서는 어떻게합니까?Windows 양식 앱에 추적 정보 작성하기
정적 메서드 내부에 생성하는 SQL 쿼리를 표시하고 싶습니다.
messagebox.show에 액세스 할 수 없습니다. 내 옵션은 무엇입니까?
webforms 환경에서 볼 수있는 trace 문을 작성하는 방법을 알고 있지만 Windows Forms 응용 프로그램에서는 어떻게합니까?Windows 양식 앱에 추적 정보 작성하기
정적 메서드 내부에 생성하는 SQL 쿼리를 표시하고 싶습니다.
messagebox.show에 액세스 할 수 없습니다. 내 옵션은 무엇입니까?
당신은 글로벌 로그 객체를 사용할 수 있습니다
enum LogLevel
{
Info,
Warning,
Error
}
delegate void OnLog (string msg, LogLevel level);
interface ILogger
{
void Log(string msg, LogLevel level);
event OnLog;
}
는 그런 다음 프로그램 클래스의 공용 정적 메소드를 사용하여 확보 하 클래스와 ILogger입니다을 확장합니다.
기본 폼에서 자신을 OnLog 이벤트에 첨부하고 forLog 이벤트에서 메시지를 인쇄 할 때 사용합니다. 그런 다음 SQL 쿼리를 사용하여 정적 메서드에서 Log 메서드를 호출하면됩니다.
:
양식에 표시해야합니까? 그렇지 않다면, 쿼리를 Trace.WriteLine()하고 DebugView을 사용하여 확인할 수 있습니다. 도움이되지 않으면 더 많은 정보가 필요하다고 생각합니다.
System.Diagnostics.Trace 클래스는 추적 수신기에 쓸 수 있습니다.
기본 수신기는 디버깅 할 때 출력 창에 씁니다. 응용 프로그램 구성 파일에서 추적 출력을 파일, 이벤트 로그 등으로 리디렉션 할 수있는 다른 리스너를 지정할 수 있습니다.
또는 Log4Net과 같은 로깅 프레임 워크를 사용하십시오.
가장 간단한 방법은 System.Diagnostics.Debug.WriteLine
또는 System.Diagnostics.Trace.WriteLine
입니다. 디버거가 연결되어 있으면 메시지가 출력 창에 표시되고, 그렇지 않으면 DebugView을 실행하여 메시지를 봅니다 (노이즈를 제외시키기 위해 일부를 필터링해야 함).
항상 다른 사람을 볼 수있어서 기쁩니다. 얼마나 시간을 절약해라! – DOK