2009-09-30 5 views
0

writelog.cs라는 공통 클래스를 만듭니다. 내 모든 프로그램 (aspx 페이지)을 호출하는 일반적인 방법을 저장합니다. 오류가 발생해도 오류가 발생합니다 내가 writelog.cs를 호출하는 방법입니다 '글로벌'여기writelog.cs; error log.txt

/// <summary> 
/// Summary description for Writelog 
/// </summary> 
/// <param name="Desc">Desc</param> 
/// <param name="ID">ID</param> 
/// <param name="Pg">Program</param> 
/// <param name="Msg">System Error Message</param> 
public class Writelog 
{ 
    public static void WritelogDesc(string Desc, string ID, string Pg, string Msg) 
    { 
     StringBuilder SB = new StringBuilder(); 

     string path = Global.getLogFilePath(); 

     SB.Append(DateTime.Now.ToString("dd/MM/yyyy") + " " + DateTime.Now.ToShortTimeString()); 
     SB.Append(" | "); 
     SB.Append(Desc); 
     SB.Append(" | "); 
     SB.Append(ID); 
     SB.Append(" | "); 
     SB.Append(Pg); 
     SB.Append(" | "); 
     SB.Append(Msg); 

     if (!File.Exists(path)) 
     { 
      using (StreamWriter sw = File.CreateText(path)) 
      { 
       sw.WriteLine(SB.ToString()); 
      } 
     } 

     using (StreamWriter sw = File.AppendText(path)) 
     { 
      Writelog.WritelogDesc(); 
      sw.WriteLine(SB.ToString()); 
     } 

    } 
} 

그리고 현재 컨텍스트에 존재하지 않는 이름 : log.txt에

이 writelog.cs 내 코드입니다 그리고 난이 오류가 발생했습니다

Writelog.WritelogDesc(); 
+0

그냥 클래스 이름과 FUNCTIONNAME을 사용하여 원하는, 어떤이 생겼는데이 기능을? –

+0

코드를 읽고 형식을 편집하고 서식을 지정하십시오. – Sauron

+1

당신은 당신의 메서드를 호출 할 수 없습니다 - 그것은 4 개의 매개 변수를 가지며 인자를 지정하지 않았습니다. –

답변

1

log4net과 같은 로그인 프레임 워크를 사용하지 않는 이유가 있습니까? 이러한 프레임 워크는 훨씬 많은 기능을 제공하므로 악용하고 수행하려는 작업을 계속 수행 할 수 있습니다.

로깅을 원하는 이유가있는 경우 전역 네임 스페이스가 포함 된 어셈블리에 대한 참조를 추가 했습니까?

+0

나는 log4net, NLog, Enterprise Library, ELAMH가 모두 환상적인 로깅 프레임 워크이고 롤업 할 필요가 없다고 동의한다. – Kane

+0

음. 사촌 나는 나의 마지막 해의 프로젝트를하고있다. 그리고 이것은 담당 교사의 요청이다. – Nana

+0

충분합니다. 전역 네임 스페이스가있는 어셈블리가 참조되었는지 확인 했습니까? – Penfold

0
StreamWriter sw = (!File.Exists(path))? File.CreateText(path):File.AppendText(path); 
sw.WriteLine(SB.ToString());  

전화는`Global.getLogFilePath`가 정의 매개 변수

Writelog.WritelogDesc(Desc, ID, Pg, Msg);