iT邦幫忙

2024 iThome 鐵人賽

DAY 0
0
  1. 在刪除方法中添加日誌記錄
    首先,確保在你的 Delete 方法中加入日誌記錄,以便記錄刪除操作的詳細信息。修改 EmployeeAsyncController 中的 Delete 方法如下:

csharp
複製程式碼
///
/// 員工資料刪除
///
/// 要刪除的Key值
///
[HttpGet]
public async Task Delete(int id = 0)
{
if (id <= 0)
{
_logger.LogWarning("Delete operation failed: Invalid ID provided.");
return BadRequest("Invalid ID.");
}

// 日誌記錄即將刪除的員工ID
_logger.LogInformation($"Attempting to delete employee with ID: {id}");

try
{
    // 執行刪除資料
    using var repoEmp = new z_sqlEmployees();
    await repoEmp.DeleteAsync(id);
    _logger.LogInformation($"Successfully deleted employee with ID: {id}");
}
catch (Exception ex)
{
    _logger.LogError(ex, $"Error occurred while deleting employee with ID: {id}");
    return StatusCode(500, "Internal server error");
}

// 返回員工資料列表
return RedirectToAction("Index", "EmployeeAsync", new { area = "Admin" });

}
2. 配置日誌記錄器
確保你已經在 Startup.cs 中正確配置了日誌記錄器。如果使用 ASP.NET Core 的內建日誌記錄,通常會自動配置。你可以在 ConfigureServices 方法中檢查如下配置:

csharp
複製程式碼
public void ConfigureServices(IServiceCollection services)
{
// 其他服務註冊
services.AddLogging(); // 確保日誌服務已經註冊
}
3. 查看日誌輸出
運行你的應用程式,並執行刪除操作。在控制台(或日誌文件)中查看輸出的日誌訊息。確保日誌輸出到正確的位置,可以是控制台、文件,或任何配置的日誌提供者。你可以在 appsettings.json 中配置日誌輸出,例如:

json
複製程式碼
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
},
"Console": {
"LogLevel": {
"Default": "Information"
}
},
"File": {
"LogLevel": {
"Default": "Information"
},
"FilePath": "logs/myapp.log"
}
}
4. 確認刪除邏輯
確保在 DeleteAsync 方法中,刪除的 SQL 查詢是正確的。你可以在 DeleteAsync 中添加日誌以顯示生成的 SQL 查詢和參數,如下所示:

csharp
複製程式碼
public virtual async Task DeleteAsync(int id = 0)
{
string str_query = dpr.GetSQLDeleteCommand(EntityObject);
DynamicParameters parm = dpr.GetSQLDeleteParameters(EntityObject, id);

// 記錄 SQL 語句和參數
_logger.LogInformation($"Generated SQL Query: {str_query}");
_logger.LogInformation("Parameters: ");
foreach (var param in parm.ParameterNames)
{
    _logger.LogInformation($"{param}: {parm.Get<dynamic>(param)}");
}

await dpr.ExecuteAsync(str_query, parm);

}
5. 測試
啟動應用程式並在控制台中觀察日誌輸出。
嘗試刪除員工資料,並檢查日誌以確認刪除操作是否被記錄,並且是否有任何錯誤信息。


上一篇
DAY22-日期選擇器
下一篇
DAY24-DapperSql問題
系列文
ASP.NET Core生成網站記錄31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言