// 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(); } }