Mango.Nop.Libraries/Mango.Nop.Core/Loggers/NopLogWriter.cs

50 lines
1.7 KiB
C#

using AyCode.Core.Helpers;
using AyCode.Entities;
using AyCode.Entities.Server.LogItems;
using LogLevel = AyCode.Core.Loggers.LogLevel;
namespace Mango.Nop.Core.Loggers
{
public class NopLogWriter : AcLogItemWriterBase<AcLogItem>//AcTextLogWriterBase
{
private readonly global::Nop.Services.Logging.ILogger _nopLogger;
public NopLogWriter(global::Nop.Services.Logging.ILogger nopLogger) : this(nopLogger, null)
{ }
public NopLogWriter(global::Nop.Services.Logging.ILogger nopLogger, string? categoryName = null) : base(categoryName)
{
_nopLogger = nopLogger;
}
//public NopLogWriter(ILogger nopLogger, AppType appType, LogLevel logLevel, string? categoryName = null) : base(appType, logLevel, categoryName)
//{
// _nopLogger=nopLogger;
//}
protected override void WriteLogItemCallback(AcLogItem logItem)
{
switch (logItem.LogLevel)
{
case LogLevel.Detail:
case LogLevel.Trace:
case LogLevel.Debug:
case LogLevel.Info:
_nopLogger.Information(logItem.Text);//.Forget();
break;
case LogLevel.Suggest:
case LogLevel.Warning:
_nopLogger.Warning(logItem.Text);//.Forget();
break;
case LogLevel.Error:
_nopLogger.Error(logItem.Text);//.Forget();//, logItem.Exception);
break;
case LogLevel.Disabled:
break;
default:
throw new ArgumentOutOfRangeException();
}
}
}
}