본문 바로가기
개발언어/C#.NET

text write log 로그남기기

by 엔돌슨 2011. 7. 28.
반응형

How to: Open and Append to a Log File


에러의 로그를 남기는 방법은 여려가지가 있습니다. 부득이하게 원격 디버깅을 할 수 없거나 할때 로그를 남겨야 합니다. 또한 webservice 경우 messagebox 을 띄우기 어렵기 때문에 디버깅이 힘듭니다. 이럴때 파일로 에러로그를 남기려고 합니다. 

MSDN의 파일 로그를 남기는 방법을 활용하였습니다.
http://msdn.microsoft.com/en-us/library/3zc0w663.aspx

using System;
using System.IO;

class DirAppend
{
    public static void Main()
    {
        using (StreamWriter w = File.AppendText("log.txt"))
        {
            Log("Test1", w);
            Log("Test2", w);
            // Close the writer and underlying file.
            w.Close();
        }
        // Open and read the file.
        using (StreamReader r = File.OpenText("log.txt"))
        {
            DumpLog(r);
        }
    }

    public static void Log(string logMessage, TextWriter w)
    {
        w.Write("\r\nLog Entry : ");
        w.WriteLine("{0} {1}", DateTime.Now.ToLongTimeString(),
            DateTime.Now.ToLongDateString());
        w.WriteLine("  :");
        w.WriteLine("  :{0}", logMessage);
        w.WriteLine ("-------------------------------");
        // Update the underlying file.
        w.Flush();
    }

    public static void DumpLog(StreamReader r)
    {
        // While not at the end of the file, read and write lines.
        string line;
        while ((line = r.ReadLine()) != null)
        {
            Console.WriteLine(line);
        }
        r.Close();
    }
}

 

출력결과


에러출력결과 아래와 같이 출력할 수 있습니다.
(아래)



Log Entry : 오후 1:39:25 2011년 7월 28일 목요일
  :
  :Test1
-------------------------------

Log Entry : 오후 1:39:48 2011년 7월 28일 목요일
  :
  :Test1
-------------------------------

Log Entry : 오후 1:39:48 2011년 7월 28일 목요일
  :
  :Test2
-------------------------------


<< 참고링크 >>

Handling and Throwing Exceptions in XML Web Services
http://msdn.microsoft.com/en-us/library/ds492xtk%28vs.71%29.aspx