namespace Wayne.Lib.Log
{
    /// <summary>
    /// Interface that event subscribers should implement.
    /// </summary>
    public interface IEventSubscriber
    {
        #region Properties

        /// <summary>
        /// Identifies the subscriber. This name is used in the configuration to identify the receiver of the events.
        /// </summary>
        string SubscriberId { get; }

        #endregion

        #region Methods

        /// <summary>
        /// Called when an event should be handled by this subscriber.
        /// </summary>
        /// <param name="eventLogEntry"></param>
        void HandleEvent(EventLogEntry eventLogEntry);

        #endregion
    }
}