WorkCamera/client/WorkCameraExport/Services/Interfaces/ILogService.cs
2026-01-05 23:58:56 +08:00

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
}
}