.
.NET에서는 Log4net으로 로그를 간단하게 남길 수 있다.
1. NuGet 설치
- 도구 > NuGet 패키지 관리자 > 솔루션용 NuGet 패키지 관리
2. web.config 설정
- 프로젝트 구성 파일에 log4net 추가
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections>
<log4net>
<appender name="Console" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d [%t] %-5p %c - %m%n" />
</layout>
</appender>
<appender name="LogFile" type="log4net.Appender.RollingFileAppender">
<param name="File" value="Log\\log.txt" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value="_yyyy-MM-dd".log"" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d [%t] %-5p %c - %m%n" />
</layout>
</appender>
<appender name="ErrorFile" type="log4net.Appender.RollingFileAppender">
<param name="File" value="Log\\error.txt" />
<filter type="log4net.Filter.LevelRangeFilter">
<param name="levelMin" value="ERROR" />
<param name="levelMax" value="ERROR" />
</filter>
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value="_yyyy-MM-dd".log"" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d [%t] %-5p %c - %m%n" />
</layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="Console" />
<appender-ref ref="LogFile" />
<appender-ref ref="ErrorFile" />
</root>
</log4net>
</configuration>
- Console Appender:
- 이름: Console
- 타입: log4net.Appender.ConsoleAppender
- 레이아웃: 로그 이벤트를 출력할 때 사용할 형식을 정의한다 .
- conversionPattern: %d [%t] %-5p %c - %m%n (해당 패턴은 날짜와 시간, 스레드, 로그 레벨, 카테고리, 메시지를 출력하도록 설정)
- RollingFile Appender (LogFile 및 ErrorFile):
- 이름: LogFile (로그 파일을 위한 것)
- 이름: ErrorFile (에러를 기록할 파일을 위한 것)
- 타입: log4net.Appender.RollingFileAppender
- File: 로그를 저장할 파일 경로를 지정. 해당 부분은 Log\log.txt 및 Log\error.txt로 지정
- AppendToFile: 기존 파일에 로그를 추가할지 여부. true로 설정되어 있으므로 로그가 파일 추가
- RollingStyle: 로그 파일의 롤링 방식을 지정합니다. 여기서는 날짜(Date)별로 롤링
- DatePattern: 생성된 로그 파일의 이름 패턴을 정의 "_yyyy-MM-dd.log"로 지정되어 있으므로 날짜 별로 로그 파일이 생성.
- layout: 로그 이벤트를 출력할 때 사용할 형식을 정의합니다. Console Appender와 마찬가지로 PatternLayout을 사용하여 로그 형식을 지정.
3. Log4Net초기화
- log4net을 사용하기 전에 초기화한다.
- 웹 애플리케이션 시작 점인 Global.asax 추가
- log4net.Config.XmlConfigurator.Configure();
4. 로그 처리
private static readonly ILog logger = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
테스트를 하기 위해 api 호출 시에 로그를 남기도록 해보자.
[결과]
- 설정한 경로에 로그 파일 생성, TEST가 남겨진 것을 확인할 수 있으며, 프로젝트 구성 파일에 log4net 추가날짜 변경 후 확인 해보면 날짜가 롤링 되어 기록이 남겨진 것을 확인할 수 있다
300x250