2013-03-27 60 views
4

什麼是將DateTimeOffset數據類型輸出到數據庫的log4net.Layout.PatternLayout值?Log4Net中的DateTimeOffset

這是我目前的配置文件log4net的:

<log4net> 
.... 
<parameter> 
     <parameterName value="@log_date" /> 
     <dbType value="DateTime" /> 
     <layout type="log4net.Layout.PatternLayout" value="%date{yyyy'-'MM'-'dd HH':'mm':'ss'.'fff}" /> 
</parameter> 
... 
</log4net> 

,我想有這樣的:

<log4net> 
.... 
<parameter> 
     <parameterName value="@log_date" /> 
     <dbType value="DateTimeOffset" /> 
     <layout type="log4net.Layout.PatternLayout" value="%date{yyyy'-'MM'-'dd HH':'mm':'ss'.'fff **OFFSET**}" /> 
</parameter> 
... 
</log4net> 

基本上我們重複使用相同的數據庫記錄從位於客戶機事件在不同的時區 - 所以我們想知道事件的確切當地時間。

謝謝, 亞歷克斯

回答

4

您應該可以使用任何有效的DateTime format string。試試這個:

%date{yyyy-MM-ddTHH:mm:ss.fffzzz} 
+0

謝謝馬特 - 那可行! – user2216889 2013-03-28 16:31:18

+1

它幫助了我,謝謝。但是我仍然缺少一部分:datetimeoffset dbType需要它的大小。 (在'dbType'節點後面添加節點'')。 – 2015-10-06 14:25:24

0

將定義您的數據庫列DateTime和使用%utcdate代替%date幫助?這應該使所有的時間戳兼容。

+0

我確實需要在SQL數據庫中存儲DateTimeOffset來知道客戶端的本地DateTime。 UTC時間沒有來自客戶端的時區信息。 UTC的偏移量爲0。 – user2216889 2013-03-27 22:09:29