// Author: Gockner, Simon
// Created: 2019-09-26
// Copyright(c) 2019 SimonG. All Rights Reserved.
using System;
using System.Threading.Tasks;
using Lib.Logging.Loggers.Interfaces;
namespace Lib.Logging.Interfaces
{
///
/// The main logging interface
///
public interface ILog : IAsyncDisposable
{
///
/// Initialize the
///
/// True if successful, false if not
bool InitializeLog();
///
/// Set the of the current instance
///
/// The
void SetLogLevel(LogLevels logLevel);
///
/// Add an to the
///
/// The
void AddLogger(ILogger logger);
///
/// Remove an from the
///
/// The
void RemoveLogger(ILogger logger);
///
/// Write a header to all loggers
///
/// A to wait on
Task WriteLogHeader();
}
}