From 32e832a898a6466369669717e7b11f7c957371bb Mon Sep 17 00:00:00 2001
From: C3204 <zhengyabo@lanpucloud.cn>
Date: 星期四, 25 十二月 2025 09:49:17 +0800
Subject: [PATCH] 修复log显示以及文件大小问题。
---
LB_SmartVision/VisionForm.cs | 70 +++++++----
LB_SmartVision/Forms/Pages/ProcessPage/ProcessControl.cs | 2
LB_VisionProcesses/Cameras/CameraConfig.cs | 25 +++
LB_SmartVision/log4net.config | 213 ++++++++++++++++++-----------------
LB_VisionProcesses/Cameras/2DCameraForm.Designer.cs | 6
LB_SmartVision/LB_SmartVision.csproj | 3
LB_VisionProcesses/Cameras/2DCameraForm.cs | 3
7 files changed, 185 insertions(+), 137 deletions(-)
diff --git a/LB_SmartVision/Forms/Pages/ProcessPage/ProcessControl.cs b/LB_SmartVision/Forms/Pages/ProcessPage/ProcessControl.cs
index e762178..a3e21fd 100644
--- a/LB_SmartVision/Forms/Pages/ProcessPage/ProcessControl.cs
+++ b/LB_SmartVision/Forms/Pages/ProcessPage/ProcessControl.cs
@@ -166,7 +166,7 @@
else
{
isCircleRuning = false;
- threadCircleRun.Abort();
+ //threadCircleRun.Abort();
}
}
catch { }
diff --git a/LB_SmartVision/LB_SmartVision.csproj b/LB_SmartVision/LB_SmartVision.csproj
index a3610a6..6a5662b 100644
--- a/LB_SmartVision/LB_SmartVision.csproj
+++ b/LB_SmartVision/LB_SmartVision.csproj
@@ -59,6 +59,9 @@
</ItemGroup>
<ItemGroup>
+ <None Update="log4net.config">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </None>
<None Update="ref\halcondotnet.dll">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
diff --git a/LB_SmartVision/VisionForm.cs b/LB_SmartVision/VisionForm.cs
index 343d396..971f1cb 100644
--- a/LB_SmartVision/VisionForm.cs
+++ b/LB_SmartVision/VisionForm.cs
@@ -242,7 +242,7 @@
{
return;
}
- string strInfo = DateTime.Now.ToString("[yyyy:MM:HH:mm:ss:fff] ");
+ string strInfo = DateTime.Now.ToString("[yyyy:MM:dd:HH:mm:ss:fff] ");
strInfo += strLog;
if (infoType != LogInfoType.NOSHOW)
{
@@ -258,19 +258,30 @@
switch (infoType)
{
case LogInfoType.INFO:
- this.rich_Info.SelectionColor = Color.Wheat;
- break;
+ {
+ this.rich_Info.SelectionColor = Color.Wheat;
+ AsyncLogHelper.Info(strLog);
+ break;
+ }
case LogInfoType.WARN:
- this.rich_Info.SelectionColor = Color.LightGoldenrodYellow;
- break;
+ {
+ this.rich_Info.SelectionColor = Color.Yellow;
+ AsyncLogHelper.Warn(strLog);
+ break;
+ }
case LogInfoType.PASS:
- this.rich_Info.SelectionColor = Color.Green;
- break;
+ {
+ this.rich_Info.SelectionColor = Color.Green;
+ AsyncLogHelper.Info(strLog);
+ break;
+ }
case LogInfoType.ERROR:
- this.rich_Info.SelectionColor = Color.Red;
- break;
+ {
+ this.rich_Info.SelectionColor = Color.Red;
+ AsyncLogHelper.Error(strLog);
+ break;
+ }
}
-
// 鏇存柊 UI 鎺т欢锛屾瘮濡傛樉绀烘帴鏀跺埌鐨勬秷鎭�
this.rich_Info.AppendText(strInfo);
this.rich_Info.AppendText("\r\n");
@@ -282,32 +293,43 @@
{
if (this.rich_Info.Lines.Length > 1000)
+ {
this.rich_Info.Clear();
-
+ }
// 濡傛灉宸茬粡鍦� UI 绾跨▼涓婏紝鐩存帴鏇存柊 UI
switch (infoType)
{
case LogInfoType.INFO:
- this.rich_Info.SelectionColor = Color.Wheat;
- break;
+ {
+ this.rich_Info.SelectionColor = Color.Wheat;
+ AsyncLogHelper.Info(strLog);
+ break;
+ }
case LogInfoType.WARN:
- this.rich_Info.SelectionColor = Color.Yellow;
- break;
+ {
+ this.rich_Info.SelectionColor = Color.Yellow;
+ AsyncLogHelper.Warn(strLog);
+ break;
+ }
case LogInfoType.PASS:
- this.rich_Info.SelectionColor = Color.Green;
- break;
+ {
+ this.rich_Info.SelectionColor = Color.Green;
+ AsyncLogHelper.Info(strLog);
+ break;
+ }
case LogInfoType.ERROR:
- this.rich_Info.SelectionColor = Color.Red;
- break;
+ {
+ this.rich_Info.SelectionColor = Color.Red;
+ AsyncLogHelper.Error(strLog);
+ break;
+ }
}
-
this.rich_Info.AppendText(strInfo);
this.rich_Info.AppendText("\r\n");
this.rich_Info.SelectionStart = this.rich_Info.Text.Length;
this.rich_Info.ScrollToCaret();
}
}
- AsyncLogHelper.Info(strLog);
}
public static bool SaveAllLayout()
@@ -502,9 +524,9 @@
{
XmlConfigurator.Configure(new System.IO.FileInfo("log4net.config"));
string[] paths = {
- @"鐢熶骇鏃ュ織\Run_Log",
- @"鐢熶骇鏃ュ織\Debug_Log",
- @"鐢熶骇鏃ュ織\Error_Log",
+ @"鐢熶骇鏃ュ織\Run",
+ @"鐢熶骇鏃ュ織\Debug",
+ @"鐢熶骇鏃ュ織\Error",
@"鐢熶骇鏃ュ織\Fatal",
@"鐢熶骇鏃ュ織\Warn",
};
diff --git a/LB_SmartVision/log4net.config b/LB_SmartVision/log4net.config
index 0c99c8f..ada98e4 100644
--- a/LB_SmartVision/log4net.config
+++ b/LB_SmartVision/log4net.config
@@ -1,107 +1,112 @@
锘�<?xml version="1.0" encoding="utf-8" ?>
<configuration>
-<configSections>
- <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
-</configSections>
-<log4net>
- <root>
- <level value="ALL"/>
- <!-- 娣诲姞鎵�鏈塧ppender寮曠敤 -->
- <appender-ref ref="DebugLogger" />
- <appender-ref ref="InfoLogger" />
- <appender-ref ref="WarnLogger" />
- <appender-ref ref="ErrorLogger" />
- <appender-ref ref="FatalLogger" />
- </root>
- <appender name="DebugLogger" type="log4net.Appender.RollingFileAppender">
- <file value="鐢熶骇鏃ュ織\Debug_Log\"/>
- <appendToFile value="true" />
- <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
- <Encoding value="UTF-8" />
- <maxSizeRollBackups value="-1"/>
- <StaticLogFileName value="false"/>
- <rollingStyle value="Date" />
- <param name="datePattern" value="yyyy-MM/yyyy-MM-dd.'log'" />
- <createDirs value="true" />
- <filter type="log4net.Filter.LevelRangeFilter">
- <levelMin value="DEBUG" />
- <levelMax value="DEBUG" />
- </filter>
- <layout type="log4net.Layout.PatternLayout">
- <param name="ConversionPattern" value="%date [%thread] %-5level %logger - %message%newline" />
- </layout>
- </appender>
- <appender name="InfoLogger" type="log4net.Appender.RollingFileAppender">
- <file value="鐢熶骇鏃ュ織\Run_Log\"/>
- <appendToFile value="true" />
- <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
- <Encoding value="UTF-8" />
- <maxSizeRollBackups value="-1"/>
- <StaticLogFileName value="false"/>
- <rollingStyle value="Date" />
- <param name="datePattern" value="yyyy-MM/yyyy-MM-dd.'log'" />
- <createDirs value="true" />
- <filter type="log4net.Filter.LevelRangeFilter">
- <levelMin value="INFO" />
- <levelMax value="INFO" />
- </filter>
- <layout type="log4net.Layout.PatternLayout">
- <param name="ConversionPattern" value="%date [%thread] %-5level %logger - %message%newline" />
- </layout>
- </appender>
- <appender name="WarnLogger" type="log4net.Appender.RollingFileAppender">
- <file value="鐢熶骇鏃ュ織\Warn\"/>
- <appendToFile value="true" />
- <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
- <Encoding value="UTF-8" />
- <maxSizeRollBackups value="10"/>
- <StaticLogFileName value="false"/>
- <rollingStyle value="Date" />
- <param name="datePattern" value="yyyy-MM/yyyy-MM-dd.'log'" />
- <createDirs value="true" />
- <filter type="log4net.Filter.LevelRangeFilter">
- <levelMin value="WARN" />
- <levelMax value="WARN" />
- </filter>
- <layout type="log4net.Layout.PatternLayout">
- <param name="ConversionPattern" value="%date [%thread] %-5level %logger - %message%newline" />
- </layout>
- </appender>
- <appender name="ErrorLogger" type="log4net.Appender.RollingFileAppender">
- <file value="鐢熶骇鏃ュ織\Error_Log\"/>
- <appendToFile value="true" />
- <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
- <Encoding value="UTF-8" />
- <maxSizeRollBackups value="-1"/>
- <StaticLogFileName value="false"/>
- <rollingStyle value="Date" />
- <param name="datePattern" value="yyyy-MM/yyyy-MM-dd.'log'" />
- <createDirs value="true" />
- <filter type="log4net.Filter.LevelRangeFilter">
- <levelMin value="ERROR" />
- <levelMax value="ERROR" />
- </filter>
- <layout type="log4net.Layout.PatternLayout">
- <param name="ConversionPattern" value="%date [%thread] %-5level %logger - %message%newline" />
- </layout>
- </appender>
- <appender name="FatalLogger" type="log4net.Appender.RollingFileAppender">
- <file value="鐢熶骇鏃ュ織\Fatal\"/>
- <appendToFile value="true" />
- <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
- <Encoding value="UTF-8" />
- <maxSizeRollBackups value="-1"/>
- <StaticLogFileName value="false"/>
- <rollingStyle value="Date" />
- <param name="datePattern" value="yyyy-MM/yyyy-MM-dd.'log'" />
- <createDirs value="true" />
- <filter type="log4net.Filter.LevelRangeFilter">
- <levelMin value="FATAL" />
- <levelMax value="FATAL" />
- </filter>
- <layout type="log4net.Layout.PatternLayout">
- <param name="ConversionPattern" value="%date [%thread] %-5level %logger - %message%newline" />
- </layout>
- </appender>
-</log4net>
+ <configSections>
+ <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
+ </configSections>
+ <log4net>
+ <root>
+ <level value="ALL"/>
+ <!-- 娣诲姞鎵�鏈塧ppender寮曠敤 -->
+ <appender-ref ref="DebugLogger" />
+ <appender-ref ref="InfoLogger" />
+ <appender-ref ref="WarnLogger" />
+ <appender-ref ref="ErrorLogger" />
+ <appender-ref ref="FatalLogger" />
+ </root>
+ <appender name="DebugLogger" type="log4net.Appender.RollingFileAppender">
+ <file value="鐢熶骇鏃ュ織\Debug\"/>
+ <appendToFile value="true" />
+ <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
+ <Encoding value="UTF-8" />
+ <rollingStyle value="Composite" />
+ <datePattern value="yyyy-MM/yyyy-MM-dd.'log'" />
+ <maximumFileSize value="10MB" />
+ <maxSizeRollBackups value="-1" />
+ <StaticLogFileName value="true" />
+ <createDirs value="true" />
+ <filter type="log4net.Filter.LevelRangeFilter">
+ <levelMin value="DEBUG" />
+ <levelMax value="DEBUG" />
+ </filter>
+ <layout type="log4net.Layout.PatternLayout">
+ <param name="ConversionPattern" value="%date [%thread] %-5level %logger - %message%newline" />
+ </layout>
+ </appender>
+ <appender name="InfoLogger" type="log4net.Appender.RollingFileAppender">
+ <file value="鐢熶骇鏃ュ織\Run\"/>
+ <appendToFile value="true" />
+ <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
+ <Encoding value="UTF-8" />
+ <rollingStyle value="Composite" />
+ <datePattern value="yyyy-MM/yyyy-MM-dd.'log'" />
+ <maximumFileSize value="10MB" />
+ <maxSizeRollBackups value="-1" />
+ <StaticLogFileName value="true" />
+ <createDirs value="true" />
+ <filter type="log4net.Filter.LevelRangeFilter">
+ <levelMin value="INFO" />
+ <levelMax value="INFO" />
+ </filter>
+ <layout type="log4net.Layout.PatternLayout">
+ <param name="ConversionPattern" value="%date [%thread] %-5level %logger - %message%newline" />
+ </layout>
+ </appender>
+ <appender name="WarnLogger" type="log4net.Appender.RollingFileAppender">
+ <file value="鐢熶骇鏃ュ織\Warn\"/>
+ <appendToFile value="true" />
+ <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
+ <Encoding value="UTF-8" />
+ <rollingStyle value="Composite" />
+ <datePattern value="yyyy-MM/yyyy-MM-dd.'log'" />
+ <maximumFileSize value="10MB" />
+ <maxSizeRollBackups value="-1" />
+ <StaticLogFileName value="true" />
+ <createDirs value="true" />
+ <filter type="log4net.Filter.LevelRangeFilter">
+ <levelMin value="WARN" />
+ <levelMax value="WARN" />
+ </filter>
+ <layout type="log4net.Layout.PatternLayout">
+ <param name="ConversionPattern" value="%date [%thread] %-5level %logger - %message%newline" />
+ </layout>
+ </appender>
+ <appender name="ErrorLogger" type="log4net.Appender.RollingFileAppender">
+ <file value="鐢熶骇鏃ュ織\Error\"/>
+ <appendToFile value="true" />
+ <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
+ <Encoding value="UTF-8" />
+ <rollingStyle value="Composite" />
+ <datePattern value="yyyy-MM/yyyy-MM-dd.'log'" />
+ <maximumFileSize value="10MB" />
+ <maxSizeRollBackups value="-1" />
+ <StaticLogFileName value="true" />
+ <createDirs value="true" />
+ <filter type="log4net.Filter.LevelRangeFilter">
+ <levelMin value="ERROR" />
+ <levelMax value="ERROR" />
+ </filter>
+ <layout type="log4net.Layout.PatternLayout">
+ <param name="ConversionPattern" value="%date [%thread] %-5level %logger - %message%newline" />
+ </layout>
+ </appender>
+ <appender name="FatalLogger" type="log4net.Appender.RollingFileAppender">
+ <file value="鐢熶骇鏃ュ織\Fatal\"/>
+ <appendToFile value="true" />
+ <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
+ <Encoding value="UTF-8" />
+ <rollingStyle value="Composite" />
+ <datePattern value="yyyy-MM/yyyy-MM-dd.'log'" />
+ <maximumFileSize value="10MB" />
+ <maxSizeRollBackups value="-1" />
+ <StaticLogFileName value="true" />
+ <createDirs value="true" />
+ <filter type="log4net.Filter.LevelRangeFilter">
+ <levelMin value="FATAL" />
+ <levelMax value="FATAL" />
+ </filter>
+ <layout type="log4net.Layout.PatternLayout">
+ <param name="ConversionPattern" value="%date [%thread] %-5level %logger - %message%newline" />
+ </layout>
+ </appender>
+ </log4net>
</configuration>
\ No newline at end of file
diff --git a/LB_VisionProcesses/Cameras/2DCameraForm.Designer.cs b/LB_VisionProcesses/Cameras/2DCameraForm.Designer.cs
index 3c69a2a..894b11f 100644
--- a/LB_VisionProcesses/Cameras/2DCameraForm.Designer.cs
+++ b/LB_VisionProcesses/Cameras/2DCameraForm.Designer.cs
@@ -466,7 +466,7 @@
btnSaveImage.Dock = DockStyle.Fill;
btnSaveImage.ForeColor = SystemColors.Desktop;
btnSaveImage.Location = new Point(266, 2);
- btnSaveImage.Margin = new Padding(2, 2, 2, 2);
+ btnSaveImage.Margin = new Padding(2);
btnSaveImage.Name = "btnSaveImage";
btnSaveImage.Size = new Size(84, 30);
btnSaveImage.TabIndex = 8;
@@ -736,7 +736,7 @@
controlBox1.EnableMaximizeButton = false;
controlBox1.EnableMinimizeButton = false;
controlBox1.ForeColor = Color.FromArgb(155, 155, 155);
- controlBox1.Location = new Point(807, 15);
+ controlBox1.Location = new Point(785, 18);
controlBox1.MaximizeHoverColor = Color.FromArgb(74, 74, 74);
controlBox1.MinimizeHoverColor = Color.FromArgb(63, 63, 65);
controlBox1.Name = "controlBox1";
@@ -752,7 +752,7 @@
panel_2DCameraForm.EdgeColor = Color.FromArgb(32, 41, 50);
panel_2DCameraForm.Location = new Point(10, 70);
panel_2DCameraForm.Name = "panel_2DCameraForm";
- panel_2DCameraForm.Padding = new Padding(5, 5, 5, 5);
+ panel_2DCameraForm.Padding = new Padding(5);
panel_2DCameraForm.Size = new Size(865, 601);
panel_2DCameraForm.SmoothingType = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
panel_2DCameraForm.TabIndex = 20;
diff --git a/LB_VisionProcesses/Cameras/2DCameraForm.cs b/LB_VisionProcesses/Cameras/2DCameraForm.cs
index 361de9b..6dc7029 100644
--- a/LB_VisionProcesses/Cameras/2DCameraForm.cs
+++ b/LB_VisionProcesses/Cameras/2DCameraForm.cs
@@ -301,8 +301,9 @@
private void btnEdit_Click(object sender, EventArgs e)
{
if (camera == null)
+ {
return;
-
+ }
using (Form editForm = new Form())
{
editForm.Text = "楂樼骇鍙傛暟璁剧疆 - " + camera.SN;
diff --git a/LB_VisionProcesses/Cameras/CameraConfig.cs b/LB_VisionProcesses/Cameras/CameraConfig.cs
index 66303bd..86ebc86 100644
--- a/LB_VisionProcesses/Cameras/CameraConfig.cs
+++ b/LB_VisionProcesses/Cameras/CameraConfig.cs
@@ -256,12 +256,17 @@
{
times--;
if (TriggerSource == TriggerSource.Software)
+ {
Camera.GetImageWithSoftTrigger(out bitmap, timeout);
+ }
else
+ {
Camera.GetImage(out bitmap, timeout);
-
+ }
if (bitmap != null)
+ {
break;
+ }
else if (isRegrab)
{
Debug.WriteLine($"鍙栧浘澶辫触,閲嶆柊鍙栧浘,鍓╀綑娆℃暟:{times}");
@@ -269,8 +274,9 @@
} while (times > 0 && isRegrab);
if (isUpParams)
+ {
Camera.SetCamConfig(oriConfig);
-
+ }
OutputImage = bitmap;
}
@@ -293,14 +299,23 @@
{
Result = true;
Msg = "";
- OutputImage = null;
-
+ if (OutputImage != null)
+ {
+ if (OutputImage is Bitmap)
+ {
+ ((Bitmap)OutputImage).Dispose();
+ }
+ OutputImage = null;
+ }
if (Record != null)
+ {
Record.Dispose();
+ }
}
public override void Dispose()
{
+
return;
}
@@ -314,7 +329,9 @@
if (OutputImage != null)
{
if (OutputImage is Bitmap)
+ {
obj.OutputImage = ((Bitmap)OutputImage).Clone();
+ }
}
return obj;
--
Gitblit v1.9.3