namespace VanDerHeijden.Logging.Redis;
///
/// Represents a single log entry serialized as JSON and pushed to a Redis list.
///
public class RedisLogEntry
{
/// Gets or sets the UTC timestamp when the log entry was created.
public DateTime Timestamp { get; set; }
/// Gets or sets the log level (e.g. "Information", "Error").
public string Level { get; set; } = string.Empty;
/// Gets or sets the logger category name.
public string Category { get; set; } = string.Empty;
/// Gets or sets the formatted log message.
public string Message { get; set; } = string.Empty;
/// Gets or sets the string representation of an associated exception, or if none.
public string? Exception { get; set; }
/// Gets or sets the request path (e.g. "/api/users"), or outside an HTTP context.
public string? Path { get; set; }
/// Gets or sets the HTTP method (e.g. "GET"), or outside an HTTP context.
public string? Method { get; set; }
/// Gets or sets the client IP address, or outside an HTTP context.
public string? ClientIp { get; set; }
/// Gets or sets the Referer header value, or outside an HTTP context.
public string? Referer { get; set; }
/// Gets or sets the User-Agent header value, or outside an HTTP context.
public string? UserAgent { get; set; }
}