1. 加入參考
2. 加入資料庫的資料來源。注意:目前版本不支援Entity Framework的連結形式。
<connectionStrings>
<add name="LoggingConnectionString" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=Logging;Persist Security Info=True;User ID=admin;Password=pw"
providerName="System.Data.SqlClient" />
<connectionStrings>
3. 在專案的Web.config上按右鍵,選擇[Edit Enterprise Library V5 Configuration]來進行編輯。
4. 新增Logging Target Listeners為Database Trace Listener,在Database Instance選擇剛剛設定的連線字串。
5. 將訊息寫入資料庫
using Microsoft.Practices.EnterpriseLibrary.Logging;using Microsoft.Practices.EnterpriseLibrary.Logging.Database;LogEntry le = new LogEntry();le.TimeStamp = DateTime.Now; //原設定非local,建議加入le.Message = "測試訊息 - 資料變更成功";//加入額外屬性le.ExtendedProperties.Add("Controller", "Channel");le.ExtendedProperties.Add("Action", "Edit");//將變更的物件屬性也記錄到資料庫le.ExtendedProperties = Utility.GetDictionary(x);Logger.Write(le);
取得物件屬性的部分如下:
參考資源//將物件中的屬性(Property)放入字典public static IDictionary<string, object> GetDictionary(object obj){IDictionary<string, object> dict = new Dictionary<string, object>();PropertyInfo[] pis = obj.GetType().GetProperties();foreach (PropertyInfo pi in pis){dict.Add(pi.Name, pi.GetValue(obj, null).ToString());}return dict;}
沒有留言:
張貼留言