NLog
설치 - Nuget을 통해 NLog를 검색하여 추가
설정 - config 파일에 아래 코드 추가(<configuration> ~ </configuration> 사이에 추가
핸들러 추가 : <configSections><section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog" /></configSections>
설정 추가 :
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" autoReload="true" throwExceptions="false">
<variable name="logDirectory" value="D:\SunLogs\NetLog\SunGold" />
<targets>
<target xsi:type="File" name="default" keepFileOpen="false" fileName="${logDirectory}\log_${shortdate}.log" layout="${longdate} | ${uppercase:${level}} | ${callsite} | ${message}" />
<target xsi:type="Debugger" name="debugger" layout="${longdate} | ${uppercase:${level}} | ${callsite} | ${message}" />
<target xsi:type="File" name="exception" fileName="${logDirectory}\log_${level}_${shortdate}.log" layout=" ----------------------------- ${uppercase:${level}} [${longdate}] -----------------------------${newline} > Call Site : ${callsite}${newline} > Exception Type : ${exception:format=Type}${newline} > Exception Message : ${exception:format=Message}${newline} > Stack Trace : ${exception:format=StackTrace}${newline} > Additional Info : ${message}${newline} " />
</targets>
<rules>
<logger name="logger" minlevel="Trace" writeTo="default" />
<logger name="logger" minlevel="Debug" writeTo="Debugger" />
<logger name="exceptionLogger" minlevel="Error" writeTo="exception" />
</rules>
</nlog>
정보
로그 레벨
Trace - very detailed logs, which may include high-volume information such as protocol payloads. This log level is typically only enabled during development
Debug - debugging information, less detailed than trace, typically not enabled in production environment.
Info - information messages, which are normally enabled in production environment
Warn - warning messages, typically for non-critical issues, which can be recovered or which are temporary failures
Error - error messages - most of the time these are Exceptions
Fatal - very serious errors!
사용Tip
로그 인스턴스 : private Logger _logger = LogManager.GetLogger("logger");
private static Logger logger = LogManager.GetCurrentClassLogger(); << 이건 의미가???
로깅코드
logger.Trace("Sample trace message");
logger.Debug("Sample debug message");
logger.Info("Sample informational message");
logger.Warn("Sample warning message");
logger.Error("Sample error message");
logger.Fatal("Sample fatal error message");
logger.Log(LogLevel.Info, "Sample informational message");
Log4Net
설치 :
설정
Dapper가 자동으로 Connection Open/Close 관리합니다.
사용Tip