C#
Log4Net을 이용한 로그 기록
Hwoarang757
2021. 9. 3. 00:32
출처입니다 : [C#]Log4Net 사용법 :: 시나공공 (tistory.com)
[C#]Log4Net 사용법
log4net 사용 관련 참고 사이트 : http://hind.pe.kr/1199 log4net 설정 관련 참고 사이트 : http://egloos.zum.com/empty79/v/2956254 C#에서 logging을 할때 손쉽고 편하게 사용할 수 있는 라이브러리를 소개하..
drt0927.tistory.com
1. 프로젝트에 Log4netConfig.xml 라는 명칭으로 , Log4net의 설정 파일을 1차로 작성 하였습니다.
<?xml version="1.0" encoding="utf-8" ?>
<log4net>
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
<param name="File" value="log\log.txt" />
<param name="DatePattern" value="-yyyy-MM-dd"/>
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p - %m%n" />
</layout>
</appender>
<root>
<level value="ALL"/>
<appender-ref ref="RollingFile"/>
</root>
</log4net>
2. Log를 Write 하는 static 클래스를 작성 하였습니다.... 제가 작성 한 예제 처럼 Class를 static으로 하지 말고 ,
log4net 인스턴스를 SingleTone 형태로 생성하는 것이 좋다고 생각합니다....
using System;
using System.Collections.Generic;
using System.Text;
//
using log4net;
using log4net.Config;
using System.Reflection;
using System.IO;
namespace TestProject
{
public static class WriteLog
{
private static ILog _logger = null;
//public ILog logger { get { return _logger; } }
static WriteLog()
{
InitLogger();
}
private static void InitLogger()
{
string logWritePath = string.Format(@"{0}\{1}",Path.GetDirectoryName(Assembly.GetEntryAssembly().Location),"log");
string log4ConfigPath = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location) + @"\" + "Log4netConfig.xml";
if (!Directory.Exists(logWritePath))
Directory.CreateDirectory(logWritePath);
XmlConfigurator.Configure(new FileInfo(log4ConfigPath));
_logger = log4net.LogManager.GetLogger("RollingFile");
}
public static void Debug(string log)
{
_logger.Debug(log);
}
public static void Info(string log)
{
_logger.Info(log);
}
public static void Error(string log)
{
_logger.Error(log);
}
public static void Error(string log, Exception exception)
{
_logger.Error(log, exception);
}
}
}
3. Log4netConfig.xml -> DatePattern 으로 설정시에 일별로 파일 분리 저장 되는 것을 확인 하였습니다.