EF Core日誌記錄生成的sql語句

2021-09-29 17:50:48 字數 1133 閱讀 8977

.net framework的ef想要記錄sql語句就非常簡單了,乙個委託搞定

本文主要講下efcore的

let's begin

1.開發日誌記錄類,實現ilogger介面

using microsoft.extensions.logging;

using system;

using system.collections.generic;

using system.linq;

using system.threading.tasks;

using web.models;

namespace web.efhelper

public void log(loglevel loglevel, eventid eventid, tstate state, exception exception, funcformatter)

else);}

//ef core執行資料庫查詢時的categoryname為microsoft.entityframeworkcore.database.command,日誌級別為information

if (this._categoryname == "microsoft.entityframeworkcore.database.command" && loglevel == loglevel.information)

}public bool isenabled(loglevel loglevel)

public idisposable beginscope(tstate state)}}

2.開發日誌提供類:將剛才的日誌業務邏輯類提供出去

using microsoft.extensions.logging;

using system;

using system.collections.generic;

using system.linq;

using system.threading.tasks;

namespace web.efhelper

public void dispose()}}

3.最後,在啟動檔案中配置日誌

ending~

mysql中檢視ef或efcore生成的sql語句

1 開啟general log模式 mysql set global general log on 2 關閉general log模式 mysql set global general log off 3 設定log檔案路徑 mysql set global general log file xx ...

使用python中的open()生成 記錄日誌

import os import time os用於獲取當前目錄,time用於獲取時間,用作檔名。獲取當前目錄 retval os.getcwd 注意 可以用 os.chdir d work ulab 改變當前目錄 獲取當前時間,並按照我們要的格式輸出 fileday time.strftime y...

日誌的記錄

最近在做系統的優化,但優化之前先得知道哪些地方有問題,耗費時間比較長,我們系統用服務層用的是wcf,現在對系統的某乙個操作記錄時間 包括客戶端與伺服器端,是在本機測試的 想法是寫乙個公共專案,客戶端與伺服器端都去引用它,然後記錄時間 因為是在本機測試,所以客戶端與伺服器端時間是一致的 我想讓客戶端與...