[C#] log4net 사용법
제가 C#으로 프로그램을 만들때 주로 사용하는 log 라이브러리인 log4net 의 사용법을 소개합니다. log4net은 유명한 자바 log 라이브러리인 log4j의 .NET 버전이죠 사용하기도 편하고 기능이 강력해서 잘 사용하고 있습니다.
무인으로 동작하는 프로그램을 개발하거나 사용자에게 에러메세지를 숨겨야 하는경우 log에 남겨 놓고 문제점을 확인할때 필수이죠.
사용법
우선 https://logging.apache.org/log4net/이곳에가서 다운로드 받아서 사용해도 되고 Nuget을 통해 설치한 후 사용할 수 있습니다.
기본설정
Program.cs 에 추가할 내용
//using 추가
using log4net.Config;
//로그 설정파일 읽기
XmlConfigurator.Configure(new System.IO.FileInfo("log4net.xml"));
log4net.xml 설정내용
저는 주로 파일로 log를 만들고 실행폴더에 /log 폴더에
yyyy-MM-dd-ERROR.log 파일명으로 날짜별로 log를 만듭니다.
<log4net>
<appender name="Console" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<!-- Pattern to output the caller's file name and line number -->
<conversionpattern value="%d [%t] %-5p %c - %m%n"> </conversionpattern>
</layout>
</appender>
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
<file value="./log/">
<appendtofile value="true">
<datepattern value="yyyy-MM-dd_ERROR.LOG">
<rollingstyle value="Date">
<staticlogfilename value="false">
<layout type="log4net.Layout.PatternLayout">
<conversionpattern value="%d [%t] %-5p %c - %m%n">
</conversionpattern>
</layout>
</staticlogfilename>
</rollingstyle>
</datepattern>
</appendtofile>
</file>
</appender>
<root>
<level value="DEBUG">
<appender-ref ref="Console">
<appender-ref ref="RollingFile">
</appender-ref>
</appender-ref>
</level>
</root>
</log4net>
사용할 Form 에서 소스코드에 다음을 선언한 후
protected static readonly ILog logger =
LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
try
{
}
catch (Exception ex)
{
// ERROR
logger.Error("에러위치 ERROR: " + ex.Message.ToString().Trim());
// Debug
logger.Debug("디버그 값 표시");
// Info
logger.Info("정보 표시");
}
댓글
댓글 쓰기