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//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(); } } } }