DotNet.WinFormPager.UI/App_Code/BaseLogException.cs
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.IO;
using System.Windows.Forms;
namespace DotNet.WinFormPager.UI
{
internal static class BaseLogException
{
/// <summary>
/// 用于线程锁的对象|使用静态变量,可锁定所有实例的对象
/// </summary>
private static object syncObj = new object();
/// <summary>
/// 获取系统异常日志文件路径|将路径生成后再返回
/// </summary>
/// <returns></returns>
internal static string GetExceptionLogPath()
{
string directory = Application.StartupPath + @"\Logs\Exception\" + DateTime.Now.ToString("yyyy") + @"\";
if (!Directory.Exists(directory))
{
Directory.CreateDirectory(directory);
}
return directory;
}
/// <summary>
/// 写信息写入硬盘日志文件中|txt文档
/// </summary>
/// <param name="logMessage"></param>
private static void WriteExceptionLog(string logMessage)
{
if (!string.IsNullOrEmpty(logMessage))
{
string logPath = GetExceptionLogPath();
string logFile = String.Format("Exception{0:yyyyMMdd}.log", DateTime.Now);
string file = Path.Combine(logPath, logFile);
logMessage = string.Format("【发生时间】{0}{1}{2}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), Environment.NewLine, logMessage);
logMessage += string.Format("------------------------------------------------------------------------------------{0}", Environment.NewLine);
//#region 判断文件是否正在被占用
//bool fileInUse = true;
//while (fileInUse)
//{
// Thread.Sleep(1);
// fileInUse = DotNet.WinFormPager.Common.FileOperate.IsFileInUse(file);
//}
//#endregion
lock (syncObj)
{
File.AppendAllText(file, logMessage);
}
}
}
/// <summary>
/// 记录系统异常信息到硬盘文本文件中|txt文档
/// </summary>
后面还有 15 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。