必要なことを行う最も簡単な方法は、 のTimestamp
プロパティを設定することですLogEntry
。
例えば:
LogEntry le = new LogEntry()
{
Message = "Log it",
TimeStamp = DateTime.Now // use local time
};
le.Categories.Add("General");
Logger.Write(le);
必要なことを行うためのその他のオプションは、カスタム トレース リスナーを作成するか、WriteLog
ストアド プロシージャを変更して任意の値を使用することです。単に使用するGETDATE()
か、渡された UTC タイムスタンプを操作することができます。
DATEADD(HOUR, DATEDIFF(HOUR, GETUTCDATE(), GETDATE()), timestamp)
興味深い点として (通常はこのタイプのコードを使用しないため)、Write() メソッドをFormattedDatabaseTraceListener
直接使用すると、ローカルの DateTime が使用されます。例えば:
var dbWriter = new FormattedDatabaseTraceListener(
EnterpriseLibraryContainer.Current.GetInstance<Database>(),
"writeLog", "AddCategory", new TextFormatter());
dbWriter.Write("Log this!", "General");
しかし、コメント投稿者が書いたように、UTC に固執することをお勧めします。