using System; using Plume.Interfaces.Logging; using Plume.Interfaces.Modules; using Plume.Output.Model; using Plume.Output.Model.NLog; namespace JD.EngineLogger.Providers { public class OutputProvider : ILogEntryProvider { public OutputProvider(ILoggerManager loggerManager) { var nlogProvider = new NLogProvider(loggerManager); nlogProvider.LogEntryReceived += (sender, entry) => OnLogEntryReceived(entry); nlogProvider.LogEntriesReceived += (sender, entry) => OnLogEntryReceived(entry); nlogProvider.Clear += (sender, args) => OnClear(); } public void OnLogEntryReceived(ILogEntry logEntry) { LogEntryReceived?.Invoke(this, logEntry); } public void OnLogEntryReceived(ILogEntry[] logEntries) { LogEntriesReceived?.Invoke(this, logEntries); } public virtual void OnClear() { Clear?.Invoke(this, EventArgs.Empty); } /// public event EventHandler LogEntryReceived; /// public event EventHandler LogEntriesReceived; /// public event EventHandler Clear; } }