[C#] txt 파일에 로그 기록하기 (StreamWriter 메서드)

2020. 12. 18. 11:30언어/C#. JAVA

반응형

간단하게 로그남기고 싶을 때 추가해서 사용하면 된다.

 

 

StreamWriter 메서드

public StreamWriter (string path, bool append, System.Text.Encoding encoding);

Parameters
path       파일경로
append   true이면 파일에 데이터 추가, false이면 파일을 덮어씀
encoding 문자깨짐 방지

 

*Encoding.Default로 지정하면 현재 이용중인 운영체제의 ANSI Code Page 의미
(한국은 대부분 ANSI 949)

 

소스

       
       
        // 로그 사용
        AddLog(MessageType.Error, "Input message!");
        
        
        // 로그 함수
        public void AddLog(MessageType type, string message)
        {
            string logDir  = Path.Combine(Environment.CurrentDirectory, "Log");
            string logFile = Path.Combine(logDir, "log.txt");

            if (Directory.Exists(logDir) == false) Directory.CreateDirectory(logDir);
            if (File.Exists(logFile) == false) File.Create(logFile);
            //
            //
            //
            using (var sw = new StreamWriter(logFile, true, Encoding.Default))
            {
                sw.WriteLine(string.Format("{0} [{1}] {2}", DateTime.Now, type, message));
                sw.Close();
            }
        }
        
        // 선택사항
    	public enum MessageType
    	{
        	Info,
        	Warning,
        	Error,
    	}
        
        

 

반응형