mirror of
https://github.com/DrizzleTime/Foxel.git
synced 2026-05-13 07:20:06 +08:00
50 lines
1.2 KiB
C#
50 lines
1.2 KiB
C#
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
|
|
namespace Foxel.Models.DataBase;
|
|
|
|
public class Log : BaseModel
|
|
{
|
|
[Required]
|
|
public LogLevel Level { get; set; }
|
|
|
|
[Required]
|
|
[StringLength(4000)]
|
|
public string Message { get; set; } = string.Empty;
|
|
|
|
[StringLength(255)]
|
|
public string? Category { get; set; }
|
|
|
|
public int? EventId { get; set; }
|
|
|
|
public DateTime Timestamp { get; set; } = DateTime.UtcNow;
|
|
|
|
[Column(TypeName = "text")]
|
|
public string? Exception { get; set; }
|
|
|
|
[StringLength(255)]
|
|
public string? RequestPath { get; set; }
|
|
|
|
[StringLength(50)]
|
|
public string? RequestMethod { get; set; }
|
|
|
|
public int? StatusCode { get; set; }
|
|
|
|
public int? UserId { get; set; }
|
|
|
|
[ForeignKey("UserId")]
|
|
public User? User { get; set; }
|
|
|
|
[StringLength(50)]
|
|
public string? IPAddress { get; set; }
|
|
|
|
[StringLength(255)]
|
|
public string? Application { get; set; } = "Foxel";
|
|
|
|
[StringLength(255)]
|
|
public string? MachineName { get; set; } = Environment.MachineName;
|
|
|
|
[Column(TypeName = "text")]
|
|
public string? Properties { get; set; } // JSON格式存储额外属性
|
|
}
|