겨울팥죽 여름빙수
article thumbnail

 

게임을 운여하다 보면 사용자의 로그를 기록해야 하는 경우가 있다.

결제라든가, 상품을 언제 얻었는 지 등등

이때 DB로 로그를 남지는 방법도 있지만, 텍스트 파일로 저장하게끔 할 수도 있다.

이때 log4net이라는 c#용 로그 라이브러리가 있어서 소개하려한다.

log4net은 비동기 로그 라이브러리로, 시간별, 날짜별 로그를 저장할 수 있게 도와준다.

 

1. 1. log4net.dll 설치

log4net을 사용하기 위해서,  dll을 설치해야 하는데, 최근에는 Nuget Manager에 올라와 있다. 구글링 안해도 되서 편하니 비주얼 스튜디오 사용하길 권한다.

 

 

2. 2. LogConfig.xml 설정

프로젝트에 LogConfig.xml을 생성하고 아래와 같이 적는다.

<c++ />
<?xml version="1.0" encoding="UTF-8" ?> <!-- This section contains the log4net configuration settings --> <log4net> <!--// appender 이름과 type을 설정한다. type은 file에 남길 것이므로 예와 같이 설정하였습니다.--> <appender name="exlog" type="log4net.Appender.RollingFileAppender"> <!--//log를 저장 할 위치입니다.--> <file value="log/" /> <!--//file을 날짜별로 변경하고 file이름은 2014-07-20_exlog.log로 생성되게 설정하였습니다.--> <datePattern value="yyyy-MM-dd'_exlog.log'" /> <!--//file을 날짜 별로 변경 시 false로 설정하였습니다.--> <staticLogFileName value="false" /> <!--//file에 log를 append 시키므로 true.--> <appendToFile value="true" /> <!--//file을 설정에 따라 file 변경하며 저장하도록 설정--> <rollingStyle value="Composite" /> <!--//file 용량에 따라 변경이 최대 생성되는 file 갯수 설정--> <maxSizeRollBackups value="100" /> <!--//file 용량이 설정 값보다 크면 file변경하며 저장--> <maximumFileSize value="100MB" /> <!--//log에 남는 patten 설정 (ex -> 16:00:40,004 Log Message)--> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value = "[%p] %d{yyyy/MM/dd HH:mm:ss} %C %M %L %m %n"/> </layout> </appender> <!--//logger name -> 이 프로그램에서 logger 를 찾을 때 사용합니다.--> <logger name = "Logger"> <!--//logger level--> <level value="Info" /> <!--//위에 설정한 appender name입니다.--> <appender-ref ref="exlog" /> </logger> </log4net>

 

3. 3. 초기화 및 사용

log4net을 사용하기 위해서 초기화 작업을 해줘야 한다. 아래와 같이 초기화 해주자.

<c++ />
public static ILog iLog; override protected void init() { log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo("../../LogConfig.xml")); iLog = log4net.LogManager.GetLogger("Logger"); }

 

사용 방법도 매우 단순하다.

<c++ />
iLog.Info(message); iLog.Error(message);

 

4. 4. 사용 결과 예..

 

profile

겨울팥죽 여름빙수

@여름빙수

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!