From c9b65ba8833af124a13c34f8f6b05b1511912624 Mon Sep 17 00:00:00 2001 From: DucDangAnh Date: Thu, 16 Jul 2020 15:30:46 +0700 Subject: [PATCH] Update logging message. --- .../AIParkingApplicationForm.cs | 12 +++++++++ AIParkingApplication/App.config | 1 + AIParkingApplication/LaneIn.cs | 10 ++++--- AIParkingApplication/LaneOut.cs | 27 ++++++++++++------- AIParkingApplication/LoginForm.cs | 10 +++---- AIParkingApplication/Printer.cs | 2 +- 6 files changed, 43 insertions(+), 19 deletions(-) diff --git a/AIParkingApplication/AIParkingApplicationForm.cs b/AIParkingApplication/AIParkingApplicationForm.cs index 270ebbb..aac0eb0 100644 --- a/AIParkingApplication/AIParkingApplicationForm.cs +++ b/AIParkingApplication/AIParkingApplicationForm.cs @@ -63,6 +63,18 @@ namespace AIParkingApplication MessageBox.Show("Cấu hình API Plate Recognize lỗi!", "Cấu hình API Engine lỗi!", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } + AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; + Application.ThreadException += Application_ThreadException; + } + + private void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e) + { + appLogger.Log(LogLevel.Error, $"Application.ThreadException. ex:{e.Exception.Message}"); + } + + private void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) + { + appLogger.Log(LogLevel.Error, $"AppDomain.CurrentDomain.UnhandledException. ex:{(e.ExceptionObject as Exception).Message}"); } private void InitAllLanes() diff --git a/AIParkingApplication/App.config b/AIParkingApplication/App.config index 2bd35b8..7693369 100644 --- a/AIParkingApplication/App.config +++ b/AIParkingApplication/App.config @@ -5,6 +5,7 @@ + diff --git a/AIParkingApplication/LaneIn.cs b/AIParkingApplication/LaneIn.cs index 05143a6..20dd437 100644 --- a/AIParkingApplication/LaneIn.cs +++ b/AIParkingApplication/LaneIn.cs @@ -1,4 +1,5 @@ using System; +using System.Diagnostics; using System.Drawing; using System.Threading; using System.Threading.Tasks; @@ -69,14 +70,14 @@ namespace AIParkingApplication if (!cardInfoResult.IsValid) { lblStatusInfo.UpdateLabel("THẺ KHÔNG HỢP LỆ", Color.Purple); - appLogger.Log(LogLevel.Error, $"Request thẻ cổng {doorId} vào | số thẻ : {cardNumber} | lỗi: THẺ KHÔNG HỢP LỆ"); + appLogger.Log(LogLevel.Info, $"Request thẻ cổng {doorId} vào | số thẻ : {cardNumber} | lỗi: THẺ KHÔNG HỢP LỆ"); return; } if (cardInfoResult.Direction != "in") { lblStatusInfo.UpdateLabel("XE ĐÃ Ở TRONG BÃI", Color.Red); - appLogger.Log(LogLevel.Error, $"Request thẻ cổng {doorId} vào | số thẻ : {cardNumber} | lỗi: XE ĐÃ Ở TRONG BÃI"); + appLogger.Log(LogLevel.Info, $"Request thẻ cổng {doorId} vào | số thẻ : {cardNumber} | lỗi: XE ĐÃ Ở TRONG BÃI"); return; } @@ -148,21 +149,24 @@ namespace AIParkingApplication { try { + var starTime = DateTime.Now; Cv2.Resize(frame, frame, new OpenCvSharp.Size(1280, 720)); FinalPlateResult finalPlateResult = await plateProcessor.ProcessPlate(frame); if (isRetryMode && !plateProcessor.IsPlateStringValid(finalPlateResult.PlateString)) { - Console.WriteLine("ProcessFrameImage Retry Mode"); Thread.Sleep(1000); overviewCamera.RequestCaptureOneFrame(); finalPlateResult = await plateProcessor.ProcessPlate(frame); + Console.WriteLine("ProcessFrameImage Retry Mode"); } + appLogger.Log(LogLevel.Info, $"ProcessFrameImage: {(DateTime.Now - starTime).TotalMilliseconds} ms"); return finalPlateResult; } catch (Exception ex) { Console.WriteLine($"ProcessFrameImage\texMessage: {ex.Message}"); + appLogger.Log(LogLevel.Info, $"ProcessFrameImage: ex: {ex.Message}"); return new FinalPlateResult { PlateImage = frame, diff --git a/AIParkingApplication/LaneOut.cs b/AIParkingApplication/LaneOut.cs index 974a453..a0496a8 100644 --- a/AIParkingApplication/LaneOut.cs +++ b/AIParkingApplication/LaneOut.cs @@ -72,14 +72,14 @@ namespace AIParkingApplication if (!cardInfoResult.IsValid) { lblStatusInfo.UpdateLabel("THẺ KHÔNG HỢP LỆ", Color.Purple); - appLogger.Log(LogLevel.Error, $"Request thẻ cổng {doorId} vào | số thẻ : {cardNumber} | lỗi: THẺ KHÔNG HỢP LỆ"); + appLogger.Log(LogLevel.Info, $"Request thẻ cổng {doorId} vào | số thẻ : {cardNumber} | lỗi: THẺ KHÔNG HỢP LỆ"); return; } if (cardInfoResult.Direction != "out") { lblStatusInfo.UpdateLabel("CHƯA NHẬN THẺ VÀO", Color.Red); - appLogger.Log(LogLevel.Error, $"Request thẻ cổng {doorId} vào | số thẻ : {cardNumber} | lỗi: XE ĐÃ Ở TRONG BÃI"); + appLogger.Log(LogLevel.Info, $"Request thẻ cổng {doorId} vào | số thẻ : {cardNumber} | lỗi: XE ĐÃ Ở TRONG BÃI"); return; } @@ -121,14 +121,17 @@ namespace AIParkingApplication OpenDoor(doorId); appLogger.Log(LogLevel.Info, $"Request thẻ cổng {doorId} vào | số thẻ : {cardNumber} | biển số: {result.PlateString} | Đã mở cửa"); } - PrinterData printerData = new PrinterData + if (false) { - PlateString = result.PlateString, - MoneyAmount = saveLogResult.Cost, - TimeParkingIn = cardInformation.TimeIn, - TimeParkingOut = DateTime.Now.GetTimeFormatted() - }; - printer.DoPrint(printerData); + PrinterData printerData = new PrinterData + { + PlateString = result.PlateString, + MoneyAmount = saveLogResult.Cost, + TimeParkingIn = cardInformation.TimeIn, + TimeParkingOut = DateTime.Now.GetTimeFormatted() + }; + printer.DoPrint(printerData); + } } else { @@ -161,9 +164,11 @@ namespace AIParkingApplication private void OpenDoor(int doorId) { - if (doorControlAccess.OpenDoor(doorId).HasError) + var openDoorResult = doorControlAccess.OpenDoor(doorId); + if (openDoorResult.HasError) { lblStatusInfo.UpdateLabel("KHÔNG THỂ MỞ CỬA", Color.Red); + appLogger.Log(LogLevel.Error, $"Không thể mở cửa {doorId}. Lỗi: {openDoorResult.Message}"); } } @@ -171,6 +176,7 @@ namespace AIParkingApplication { try { + var starTime = DateTime.Now; Cv2.Resize(frame, frame, new OpenCvSharp.Size(1280, 720)); FinalPlateResult finalPlateResult = await plateProcessor.ProcessPlate(frame); @@ -181,6 +187,7 @@ namespace AIParkingApplication overviewCamera.RequestCaptureOneFrame(); finalPlateResult = await plateProcessor.ProcessPlate(frame); } + appLogger.Log(LogLevel.Info, $"ProcessFrameImage: {(DateTime.Now - starTime).TotalMilliseconds} ms"); return finalPlateResult; } catch (Exception ex) diff --git a/AIParkingApplication/LoginForm.cs b/AIParkingApplication/LoginForm.cs index fc9ed51..5ac59ed 100644 --- a/AIParkingApplication/LoginForm.cs +++ b/AIParkingApplication/LoginForm.cs @@ -34,7 +34,7 @@ namespace AIParkingApplication { lblLoginStatus.Text = "Địa chỉ server không được để trống! \r\n ví dụ: 192.168.1.2:80"; btnLogin.Enabled = true; - applicationLogger.Log(LogLevel.Error, "Địa chỉ server không được để trống"); + applicationLogger.Log(LogLevel.Info, "Địa chỉ server không được để trống"); return; } @@ -44,7 +44,7 @@ namespace AIParkingApplication { lblLoginStatus.Text = "Địa chỉ server không đúng định dạng: \r\n ví dụ: 192.168.1.122:80"; btnLogin.Enabled = true; - applicationLogger.Log(LogLevel.Error, "Địa chỉ server không đúng định dạng"); + applicationLogger.Log(LogLevel.Info, "Địa chỉ server không đúng định dạng"); return; } @@ -54,9 +54,9 @@ namespace AIParkingApplication } catch (Exception ex) { + applicationLogger.Log(LogLevel.Error, $"Cấu máy chủ lỗi - Kiểm tra lại tên máy chủ, kết nối máy chủ! Không thể khởi tạo API Webserver. ex: {ex.Message}"); MessageBox.Show($"Cấu máy chủ lỗi - Kiểm tra lại tên máy chủ, kết nối máy chủ! \r\n {ex.Message}", "Lỗi khởi tạo API!", MessageBoxButtons.OK, MessageBoxIcon.Error); btnLogin.Enabled = true; - applicationLogger.Log(LogLevel.Error, "Cấu máy chủ lỗi - Kiểm tra lại tên máy chủ, kết nối máy chủ! Không thể khởi tạo API Webserver"); return; } @@ -67,7 +67,7 @@ namespace AIParkingApplication { lblLoginStatus.Text = "Tên tài khoản hoặc mật khẩu không được để trống"; btnLogin.Enabled = true; - applicationLogger.Log(LogLevel.Error, "Tên tài khoản hoặc mật khẩu không được để trống"); + applicationLogger.Log(LogLevel.Info, "Tên tài khoản hoặc mật khẩu không được để trống"); return; } @@ -79,7 +79,7 @@ namespace AIParkingApplication if (execeptioMessage.Contains("Error converting value")) { lblLoginStatus.UpdateLabel("Sai tên tài khoản hoặc mật khẩu!", Color.Red); - applicationLogger.Log(LogLevel.Error, "Sai tên tài khoản hoặc mật khẩu"); + applicationLogger.Log(LogLevel.Info, "Sai tên tài khoản hoặc mật khẩu"); return; } diff --git a/AIParkingApplication/Printer.cs b/AIParkingApplication/Printer.cs index d0b185e..5ea14e6 100644 --- a/AIParkingApplication/Printer.cs +++ b/AIParkingApplication/Printer.cs @@ -47,7 +47,7 @@ namespace AIParkingApplication catch (Exception ex) { Console.WriteLine($"ProcessingString\texMessage:{ex.Message}"); - appLogger.Log(LogLevel.Info, $"Lỗi khi In hóa đơn: {ex.Message}"); + appLogger.Log(LogLevel.Error, $"Lỗi khi In hóa đơn: {ex.Message}"); return string.Empty; } }