정보 공유/Nuget

log4net 사용법

Chanhongv 2024. 6. 10. 13:26

1. 프로젝트 생성

2. log4net Nuget Package 설치

log4net 설치

 

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