Files
caliverse_server/ServerCore/Log/NLogHelper.cs
2025-05-01 07:23:28 +09:00

113 lines
4.6 KiB
C#

using NLog;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
namespace ServerCore;
//===========================================================================================
// NLog 관련 확장 함수
//
// author : kangms
//
//===========================================================================================
public static class NLogHelper
{
public static void trace( this NLog.Logger _this
, string message
, [CallerMemberName] string memberName = ""
, [CallerFilePath] string sourceFilePath = ""
, [CallerLineNumber] Int32 sourceLineNumber = 0)
{
var logEventInfo = new LogEventInfo(LogLevel.Trace, null, message);
logEventInfo.setLogEventProperties(sourceFilePath, sourceLineNumber, memberName
, Log.getProcessType(), Log.getIpPort());
_this.Trace(logEventInfo);
}
public static void debug( this NLog.Logger _this
, string message
, [CallerMemberName] string memberName = ""
, [CallerFilePath] string sourceFilePath = ""
, [CallerLineNumber] Int32 sourceLineNumber = 0)
{
var logEventInfo = new LogEventInfo(LogLevel.Debug, null, message);
logEventInfo.setLogEventProperties(sourceFilePath, sourceLineNumber, memberName
, Log.getProcessType(), Log.getIpPort());
_this.Debug(logEventInfo);
}
public static void info( this NLog.Logger _this
, string message
, [CallerMemberName] string memberName = ""
, [CallerFilePath] string sourceFilePath = ""
, [CallerLineNumber] Int32 sourceLineNumber = 0)
{
var logEventInfo = new LogEventInfo(LogLevel.Info, null, message);
logEventInfo.setLogEventProperties(sourceFilePath, sourceLineNumber, memberName
, Log.getProcessType(), Log.getIpPort());
_this.Info(logEventInfo);
}
public static void warn( this NLog.Logger _this
, string message
, [CallerMemberName] string memberName = ""
, [CallerFilePath] string sourceFilePath = ""
, [CallerLineNumber] Int32 sourceLineNumber = 0)
{
var logEventInfo = new LogEventInfo(LogLevel.Warn, null, message);
logEventInfo.setLogEventProperties(sourceFilePath, sourceLineNumber, memberName
, Log.getProcessType(), Log.getIpPort());
_this.Warn(logEventInfo);
}
public static void error( this NLog.Logger _this
, string message
, [CallerMemberName] string memberName = ""
, [CallerFilePath] string sourceFilePath = ""
, [CallerLineNumber] Int32 sourceLineNumber = 0)
{
var logEventInfo = new LogEventInfo(LogLevel.Error, null, message);
logEventInfo.setLogEventProperties(sourceFilePath, sourceLineNumber, memberName
, Log.getProcessType(), Log.getIpPort());
_this.Error(logEventInfo);
}
public static void fatal( this NLog.Logger _this
, string message
, [CallerMemberName] string memberName = ""
, [CallerFilePath] string sourceFilePath = ""
, [CallerLineNumber] Int32 sourceLineNumber = 0)
{
var logEventInfo = new LogEventInfo(LogLevel.Fatal, null, message);
logEventInfo.setLogEventProperties(sourceFilePath, sourceLineNumber, memberName
, Log.getProcessType(), Log.getIpPort());
_this.Fatal(logEventInfo);
}
private static void setLogEventProperties( this LogEventInfo _this
, string sourceFilePath, Int32 sourceLineNumber, string memberName
, string processType, string ipPort)
{
_this.Properties["server"] = processType;
_this.Properties["ip/port"] = ipPort;
_this.Properties["memberName"] = memberName;
_this.Properties["filePath"] = sourceFilePath;
_this.Properties["lineNumber"] = sourceLineNumber;
}
}