Files
petwash/PetWashControl/Services/LogService.cs
2026-02-25 15:43:47 +08:00

51 lines
1.2 KiB
C#

using System.Diagnostics;
using System.IO;
namespace PetWashControl.Services;
public class LogService
{
private readonly string _logFilePath;
public LogService()
{
var logDirectory = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Logs");
Directory.CreateDirectory(logDirectory);
_logFilePath = Path.Combine(logDirectory, $"log_{DateTime.Now:yyyyMMdd}.txt");
}
public void LogInfo(string message)
{
Log("INFO", message);
}
public void LogWarning(string message)
{
Log("WARN", message);
}
public void LogError(string message, Exception? ex = null)
{
var fullMessage = ex != null ? $"{message}\n{ex}" : message;
Log("ERROR", fullMessage);
}
private void Log(string level, string message)
{
var logMessage = $"[{DateTime.Now:yyyy-MM-dd HH:mm:ss}] [{level}] {message}";
// 输出到调试窗口
Debug.WriteLine(logMessage);
// 写入文件
try
{
File.AppendAllText(_logFilePath, logMessage + Environment.NewLine);
}
catch
{
// 忽略日志写入失败
}
}
}