hutongqing
2024-11-20 70233af5426b0d1c343ebe87183303a34a9aaa58
WIDESEAWCS_Server/WIDESEAWCS_Core/LogHelper/QuartzLogger.cs
@@ -16,22 +16,28 @@
        {
            try
            {
                // 进入写锁
                LogWriteLock.EnterWriteLock();
                // 如果文件夹不存在,则创建文件夹
                if (!Directory.Exists(folderPath))
                {
                    Directory.CreateDirectory(folderPath);
                }
                // 获取日志文件路径
                string logFilePath = Path.Combine(folderPath, GetLastAccessFileName(fileName));
                // 获取当前时间
                DateTime now = DateTime.Now;
                // 构造日志内容
                string logContent = $"【{now}】{Environment.NewLine}{log}";
                // 将日志内容追加到日志文件中
                File.AppendAllText(logFilePath, logContent);
            }
            catch { }
            finally
            {
                // 退出写锁
                LogWriteLock.ExitWriteLock();
            }
        }
@@ -39,14 +45,19 @@
        static string ext = ".log";
        private static string GetLogFilePath(string folderPath, string fileName)
        {
            // 获取指定文件夹下的所有文件
            var allFiles = new DirectoryInfo(folderPath);
            // 获取符合条件的文件,按文件名降序排列
            var selectFiles = allFiles.GetFiles().Where(fi => fi.Name.ToLower().Contains(fileName.ToLower()) && fi.Extension.ToLower() == ext.ToLower() && fi.Length < size).OrderByDescending(d => d.Name).ToList();
            if (selectFiles.Count > 0)
            FileInfo? file = selectFiles.FirstOrDefault();
            // 如果有符合条件的文件,返回第一个文件的完整路径
            if (file != null)
            {
                return selectFiles.FirstOrDefault().FullName;
                return file.FullName;
            }
            // 如果没有符合条件的文件,返回一个新的文件路径,文件名为原文件名加上当前时间
            return Path.Combine(folderPath, $@"{fileName}_{DateTime.Now.ToString("HH-mm-ss")}.log");
        }