초기커밋
This commit is contained in:
60
ServerBase/BusinessLog/Appender/NLogAppender.cs
Normal file
60
ServerBase/BusinessLog/Appender/NLogAppender.cs
Normal file
@@ -0,0 +1,60 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
|
||||
using NLog;
|
||||
using NLog.Fluent;
|
||||
|
||||
|
||||
using ServerCore; using ServerBase;
|
||||
|
||||
|
||||
namespace ServerBase;
|
||||
|
||||
public class NLogAppender : IAppender
|
||||
{
|
||||
private readonly NLog.Logger m_logger = NLog.LogManager.GetLogger("BusinessLogger");
|
||||
|
||||
public NLogAppender(string xmlCofigFilePath = "")
|
||||
{
|
||||
if(true == xmlCofigFilePath.isNullOrWhiteSpace())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
reconfigureXML(xmlCofigFilePath);
|
||||
}
|
||||
|
||||
public bool reconfigureXML(string xmlCofigFilePath)
|
||||
{
|
||||
var to_reload_configure = new NLog.Config.XmlLoggingConfiguration(xmlCofigFilePath);
|
||||
if(null == to_reload_configure)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
LogManager.Configuration = to_reload_configure;
|
||||
LogManager.ReconfigExistingLoggers();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public bool isLoadedConfigXML()
|
||||
{
|
||||
if(null == LogManager.Configuration)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public override void write(IFormatter logFormatter, BusinessLog log)
|
||||
{
|
||||
m_logger?.Info(logFormatter.toLogString(log));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user