1. 프로젝트 생성
2. log4net Nuget Package 설치
3. 새 파일 추가
- 어플리케이션 구성 파일 : log4net.config
- 구성 파일 내용 입력 (Sample)
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<log4net>
<root>
<level value="ALL"/>
<appender-ref ref="file"/>
<appender-ref ref="fatal_file"/>
</root>
<appender name="file" type="log4net.Appender.RollingFileAppender">
<file value="logs\\" />
<datepattern value="yyyy\\\\MM\\\\yyyy-MM-dd'qqq.log'"/>
<appendToFile value="true" />
<rollingStyle value="Date" />
<staticLogFileName value="false" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[%date][Thread : %thread][%level][%logger] %message%newline" />
</layout>
</appender>
<appender name="fatal_file" type="log4net.Appender.RollingFileAppender">
<file value="logs\fatal.log" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="500" />
<maximumFileSize value="10MB" />
<staticLogFileName value="true" />
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="FATAL" />
<param name="LevelMax" value="FATAL" />
</filter>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[%date][Thread : %thread][%level][%logger] %message%newline" />
</layout>
</appender>
</log4net>
</configuration>
4. 프로젝트의 AssemblyInfo.cs 에 다음 내용 추가 (파일 없다면 생성)
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]
5. Log 를 기록하는 클래스 이름에 맞게 다음 내용 추가 (제가 입력한 클래스 : LogService)
private static readonly ILog log = LogManager.GetLogger(typeof(LogService));
6. 다음과 같이 사용할 수 있다.
public static void WriteLog()
{
//XmlConfigurator.Configure();
log.Debug("This is a debug message");
log.Info("This is an info message");
log.Warn("This is a warning message");
log.Error("This is an error message");
log.Fatal("This is a fatal message");
Console.WriteLine("Logs have been written. Check the console output.");
}
7. 기록된 로그
- 파일 위치 : 실행파일 위치\logs\2024\06\2024-06-10qqq.log
- 파일 내용
- Log Level
: DEBUG < INFO < WARN < ERROR < FATAL
'정보 공유 > Nuget' 카테고리의 다른 글
EntityFrameworkCore 사용법 (2/2) (0) | 2024.06.11 |
---|---|
EntityFrameworkCore 사용법 (1/2) (0) | 2024.06.11 |