using log4net.Core;
using Microsoft.Extensions.Logging.Log4Net.AspNetCore.Entities;
namespace Microsoft.Extensions.Logging
{
///
/// Represents a factory that creates the log4net from a .
///
public interface ILog4NetLoggingEventFactory
{
///
/// Create the .
///
/// Type of the state object that is used to format the log message.
/// The message information that should be logged.
/// The logger the event is created for.
/// The options of the log4net logging provider.
/// A that is ready to be logged with the provided logger or null if the candidate should be dropped.
LoggingEvent CreateLoggingEvent(
in MessageCandidate messageCandidate,
log4net.Core.ILogger logger,
Log4NetProviderOptions options,
IExternalScopeProvider scopeProvider);
}
}