// *********************************************************************** // // AgileWebs // // *********************************************************************** using System.ComponentModel; using System.Text.Json.Serialization; namespace Core.Blueprint.Logging { /// /// The service logger detail object. /// /// The generic message type. public class LogDetail { /// /// Gets or sets the log severity. /// /// info [DisplayName(DisplayNames.Severity)] [JsonPropertyName(DisplayNames.Severity)] public LogSeverity Severity { get; set; } /// /// Gets or sets the timestamp. /// [DisplayName(DisplayNames.Timestamp)] [JsonPropertyName(DisplayNames.Timestamp)] public DateTime Timestamp { get; set; } /// /// Gets or sets the environment. /// /// Development [DisplayName(DisplayNames.Environment)] [JsonPropertyName(DisplayNames.Environment)] public string? Environment { get; set; } /// /// Gets or sets the target. /// [DisplayName(DisplayNames.Target)] [JsonPropertyName(DisplayNames.Target)] public LogTarget? Target { get; set; } /// /// Gets or sets the x-forwarded-for header. /// /// localhost [DisplayName(DisplayNames.XForwardedFor)] [JsonPropertyName(DisplayNames.XForwardedFor)] public string? XForwardedFor { get; set; } /// /// Gets or sets the service identifier. /// /// [DisplayName(DisplayNames.ServiceId)] [JsonPropertyName(DisplayNames.ServiceId)] public string? ServiceId { get; set; } /// /// Gets or sets the request identifier. /// /// [DisplayName(DisplayNames.RequestId)] [JsonPropertyName(DisplayNames.RequestId)] public string? RequestId { get; set; } /// /// Gets or sets the keyVaultProvider identifier. /// /// [DisplayName(DisplayNames.ClientId)] [JsonPropertyName(DisplayNames.ClientId)] public string? ClientId { get; set; } /// /// Gets or sets the keyVaultProvider identifier. /// /// keyVaultProviderRequest [DisplayName(DisplayNames.Operation)] [JsonPropertyName(DisplayNames.Operation)] public LogOperation Operation { get; set; } /// /// Gets or sets the user name. /// /// keyVaultProviderRequest [DisplayName(DisplayNames.User)] [JsonPropertyName(DisplayNames.User)] public string? User { get; set; } /// /// Gets or sets user's email. /// /// keyVaultProviderRequest [DisplayName(DisplayNames.Email)] [JsonPropertyName(DisplayNames.Email)] public string? Email { get; set; } /// /// Gets or sets the user identifier. /// /// keyVaultProviderRequest [DisplayName(DisplayNames.UserId)] [JsonPropertyName(DisplayNames.UserId)] public string? UserId { get; set; } /// /// Gets or sets the message. /// /// A custom log message. [DisplayName(DisplayNames.Message)] [JsonPropertyName(DisplayNames.Message)] public TMessage? Message { get; set; } } }