feat(logManagement): implement log management service

This commit is contained in:
shiyu
2025-06-06 11:39:39 +08:00
parent a73752bcc8
commit a95651b04a
34 changed files with 1644 additions and 108 deletions

49
Models/DataBase/Log.cs Normal file
View File

@@ -0,0 +1,49 @@
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格式存储额外属性
}