43 lines
1.2 KiB
C#
43 lines
1.2 KiB
C#
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);
|
|
}
|
|
|
|
/// <inheritdoc />
|
|
public event EventHandler<ILogEntry> LogEntryReceived;
|
|
|
|
/// <inheritdoc />
|
|
public event EventHandler<ILogEntry[]> LogEntriesReceived;
|
|
|
|
/// <inheritdoc />
|
|
public event EventHandler Clear;
|
|
}
|
|
}
|