using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using AyCode.Core.Enums; using AyCode.Entities; using AyCode.Entities.Server.LogItems; using Microsoft.CodeAnalysis.CSharp.Syntax; using Org.BouncyCastle.Utilities.IO; using Nop.Core.Domain.Logging; using Nop.Services.Logging; using LogLevel = AyCode.Core.Loggers.LogLevel; namespace Mango.Nop.Core.Loggers { public class NopLogWriter : AcLogItemWriterBase//AcTextLogWriterBase { private readonly ILogger _nopLogger; public NopLogWriter(ILogger nopLogger) : this(nopLogger, null) { } public NopLogWriter(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); break; case LogLevel.Suggest: case LogLevel.Warning: _nopLogger.Warning(logItem.Text); break; case LogLevel.Error: _nopLogger.Error(logItem.Text);//, logItem.Exception); break; case LogLevel.Disabled: break; default: throw new ArgumentOutOfRangeException(); } } } }