62 lines
1.8 KiB
C#
62 lines
1.8 KiB
C#
namespace WorkCameraExport.Services.Interfaces
|
|
{
|
|
/// <summary>
|
|
/// 日志服务接口 - 负责日志记录和导出
|
|
/// </summary>
|
|
public interface ILogService
|
|
{
|
|
#region 日志记录
|
|
|
|
/// <summary>
|
|
/// 记录信息日志
|
|
/// </summary>
|
|
/// <param name="message">日志消息</param>
|
|
void Info(string message);
|
|
|
|
/// <summary>
|
|
/// 记录错误日志
|
|
/// </summary>
|
|
/// <param name="message">日志消息</param>
|
|
/// <param name="ex">异常对象(可选)</param>
|
|
void Error(string message, Exception? ex = null);
|
|
|
|
/// <summary>
|
|
/// 记录警告日志
|
|
/// </summary>
|
|
/// <param name="message">日志消息</param>
|
|
void Warn(string message);
|
|
|
|
/// <summary>
|
|
/// 记录调试日志
|
|
/// </summary>
|
|
/// <param name="message">日志消息</param>
|
|
void Debug(string message);
|
|
|
|
#endregion
|
|
|
|
#region 日志导出
|
|
|
|
/// <summary>
|
|
/// 导出日志文件
|
|
/// </summary>
|
|
/// <param name="outputPath">输出路径</param>
|
|
/// <param name="startDate">开始日期(可选)</param>
|
|
/// <param name="endDate">结束日期(可选)</param>
|
|
Task ExportLogsAsync(string outputPath, DateTime? startDate = null, DateTime? endDate = null);
|
|
|
|
/// <summary>
|
|
/// 获取日志文件列表
|
|
/// </summary>
|
|
/// <returns>日志文件路径列表</returns>
|
|
List<string> GetLogFiles();
|
|
|
|
/// <summary>
|
|
/// 清理过期日志(默认保留 30 天)
|
|
/// </summary>
|
|
/// <param name="retentionDays">保留天数</param>
|
|
void CleanOldLogs(int retentionDays = 30);
|
|
|
|
#endregion
|
|
}
|
|
}
|