먼저 web.config 파일의 <configuration>안에 아래의 내용을 추가한다.
<configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> </configSections> <log4net> <appender name="DebugAppender" type="log4net.Appender.DebugAppender"> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="[ %date ] [%thread] [ %level ] %logger : "%message" - %exception%newline" /> <IgnoresException value="False" /> </layout> </appender> <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender"> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date{dd.MM.yyyy HH:mm:ss.ffff} [%thread] %level %logger%exception - %message%newline"/> </layout> </appender> <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"> <file value="logs/log.txt" /> <appendToFile value="true" /> <rollingStyle value="Date" /> <datePattern value="yyyy-MM"/> <!--<maxSizeRollBackups value="10" />--> <maximumFileSize value="250KB" /> <staticLogFileName value="true" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="[ %date ] [%thread] [ %-5level ] %logger : "%message" - %exception%newline" /> <IgnoresException value="False" /> </layout> </appender>
<root>
<level value="DEBUG" />
<appender-ref ref="DebugAppender" />
<appender-ref ref="ConsoleAppender" />
<appender-ref ref="RollingFileAppender" />
</root>
</log4net>
위에 DebugAppender는 VisualStudio에서 immediate window에 로그를 남기는 기능을 한다.
RollingFileAppender는 로그 파일을 파일에 쓴다.
rollingStyle을 Date로 하고 yyyyMMdd와 같이 쓰면 매일 새로운 로그파일이 생성되고 위와 같이 yyyyMM까지만 작성시에는 매월마다 파일이 작성된다.
root 아래에 level을 value를 변경하여 로그 레벨을 설정할 수 있다.
레벨은 ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF 이렇게 있다.
다음으로 Global.asax 파일의 namespace 윗부분에 아래와 같은 assembly attribute를 추가한다.
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
사실 Global.asax가 아닌 다른 파일에 넣어도 상관은 없다.
readonly ILog logger = LogManager.GetLogger(typeof(클래스명)); public void Execute(IJobExecutionContext context) { ... try {
logger.Debug("this is debug"); .... } catch (Exception ex)
{
logger.Error("this is error ", ex);
return;
}
}
클래스 내에 ILog 인스턴스를 생성하고, 그 아래에서 사용하면 된다.
'개 발코딩' 카테고리의 다른 글
[c#] 메소드 내에 return을 쓰는 경우 유의사항 (0) | 2017.05.23 |
---|---|
[c#] 폼안에 컨트롤 가운데 정렬 (0) | 2017.05.22 |
[c#] 파일 내의 특정 줄 읽어오기 (0) | 2017.05.18 |
[C#] DevExpress, Chart control X축 날짜 형태 변경하기 (0) | 2017.05.11 |
[C#] DevExpress에 chart control 에서 Line 그래프 선 두께 변경하기 (0) | 2017.05.11 |