using System;
using Microsoft.Extensions.Logging;
namespace MediaBrowser.Model.ClientLog
{
    /// 
    /// The client log event.
    /// 
    public class ClientLogEvent
    {
        /// 
        /// Initializes a new instance of the  class.
        /// 
        /// The log timestamp.
        /// The log level.
        /// The user id.
        /// The client name.
        /// The client version.
        /// The device id.
        /// The message.
        public ClientLogEvent(
            DateTime timestamp,
            LogLevel level,
            Guid? userId,
            string clientName,
            string clientVersion,
            string deviceId,
            string message)
        {
            Timestamp = timestamp;
            UserId = userId;
            ClientName = clientName;
            ClientVersion = clientVersion;
            DeviceId = deviceId;
            Message = message;
            Level = level;
        }
        /// 
        /// Gets the event timestamp.
        /// 
        public DateTime Timestamp { get; }
        /// 
        /// Gets the log level.
        /// 
        public LogLevel Level { get; }
        /// 
        /// Gets the user id.
        /// 
        public Guid? UserId { get; }
        /// 
        /// Gets the client name.
        /// 
        public string ClientName { get; }
        /// 
        /// Gets the client version.
        /// 
        public string ClientVersion { get; }
        ///
        /// 
        /// Gets the device id.
        /// 
        public string DeviceId { get; }
        /// 
        /// Gets the log message.
        /// 
        public string Message { get; }
    }
}