diff --git a/Windows/CS/Framework4.0/Toprie/Toprie/Camera.cs b/Windows/CS/Framework4.0/Toprie/Toprie/Camera.cs
index 5c6b9df..854d826 100644
--- a/Windows/CS/Framework4.0/Toprie/Toprie/Camera.cs
+++ b/Windows/CS/Framework4.0/Toprie/Toprie/Camera.cs
@@ -45,7 +45,7 @@ namespace JoyD.Windows.CS.Toprie
private bool _showMinTemperature = false; // 是否显示最低温度
// 日志保存状态标志
- private bool _saveLogEnabled = false; // 是否启用日志保存
+ // 不再需要_saveLogEnabled字段,直接使用DeviceManager.LogToFile静态属性控制日志记录
// 用于保护_lastImage的线程锁
private readonly object _lastImageLock = new object();
@@ -281,8 +281,8 @@ namespace JoyD.Windows.CS.Toprie
this.contextMenuStrip1.Opening += ContextMenuStrip1_Opening;
// 初始化日志保存状态,确保与菜单项状态同步
- _saveLogEnabled = false; // 默认禁用日志保存
- saveLogToolStripMenuItem.Checked = _saveLogEnabled;
+ // 直接使用DeviceManager.LogToFile静态属性控制日志记录,无需额外的_saveLogEnabled字段
+ saveLogToolStripMenuItem.Checked = DeviceManager.LogToFile;
// 将设计模式状态传递给DeviceManager
UpdateDesignModeStatus();
@@ -1912,11 +1912,11 @@ namespace JoyD.Windows.CS.Toprie
///
private void SaveLogToolStripMenuItem_Click(object sender, EventArgs e)
{
- // 更新日志保存状态标志
- _saveLogEnabled = saveLogToolStripMenuItem.Checked;
+ // 更新DeviceManager.LogToFile静态属性,这是控制所有日志记录的单一来源
+ DeviceManager.LogToFile = saveLogToolStripMenuItem.Checked;
// 可以在这里添加日志记录的初始化或清理逻辑
- if (_saveLogEnabled)
+ if (DeviceManager.LogToFile)
{
// 日志启用时的初始化
WriteLog("日志保存功能已启用");
@@ -1930,17 +1930,20 @@ namespace JoyD.Windows.CS.Toprie
///
/// 写入日志信息到文件
- /// 只有在_saveLogEnabled为true时才会保存
+ /// 只有在DeviceManager.LogToFile为true时才会保存
///
/// 日志消息
private void WriteLog(string logMessage)
{
// 只有当日志保存功能启用时才执行写入
- if (_saveLogEnabled)
+ // 直接使用DeviceManager.LogToFile静态属性,保持与系统其他部分一致
+ if (DeviceManager.LogToFile)
{
try
{
- // 确保项目路径存在
+ string logFilePath;
+
+ // 如果项目路径存在,使用项目路径下的Logs目录
if (!string.IsNullOrEmpty(_projectPath) && Directory.Exists(_projectPath))
{
// 创建Logs目录(如果不存在)
@@ -1949,12 +1952,19 @@ namespace JoyD.Windows.CS.Toprie
// 生成日志文件名(按日期)
string logFileName = $"Log_{DateTime.Now:yyyyMMdd}.txt";
- string logFilePath = Path.Combine(logDir, logFileName);
-
- // 写入日志(带时间戳)
- string logEntry = $"[{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}] {logMessage}";
- File.AppendAllText(logFilePath, logEntry + Environment.NewLine);
+ logFilePath = Path.Combine(logDir, logFileName);
}
+ else
+ {
+ // 如果项目路径不存在,使用应用程序目录下的Log.txt
+ logFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Log.txt");
+ // 确保目录存在
+ Directory.CreateDirectory(Path.GetDirectoryName(logFilePath));
+ }
+
+ // 写入日志(带时间戳)
+ string logEntry = $"[{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}] {logMessage}";
+ File.AppendAllText(logFilePath, logEntry + Environment.NewLine);
}
catch (Exception ex)
{