겨울팥죽 여름빙수
article thumbnail

 

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

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

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

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

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

 

1. log4net.dll 설치

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

 

 

2. LogConfig.xml 설정

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

<?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. 초기화 및 사용

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

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

 

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

iLog.Info(message);
iLog.Error(message);

 

4. 사용 결과 예..

 

profile

겨울팥죽 여름빙수

@여름빙수

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