2013-03-27 3 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> 

은 기본적으로 우리가 위치한 클라이언트에서 이벤트를 기록하기 위해 동일한 DB를 재사용을 서로 다른 시간대에 있기 때문에 이벤트의 정확한 현지 시간을 알고 싶습니다.

감사합니다, 알렉스

답변

4

유효한 DateTime format string을 사용할 수 있어야합니다. 이것을 시도하십시오 :

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

감사합니다 매트 - 그 작품! – user2216889

+1

덕분에 도움이되었습니다. 그러나 나에게는 여전히 빠진 부분이있었습니다. datetimeoffset dbType은 크기를 필요로했습니다. ('dbType' 노드 다음에 노드' 추가.) –

0

겠습니까 날짜 시간과 같이 DB 열을 정의하고 %date 도움이 대신 %utcdate를 사용하고 계십니까? 모든 타임 스탬프가 호환되어야합니다.

+0

저는 클라이언트의 로컬 DateTime을 알기 위해 SQL 데이터베이스에 DateTimeOffset을 저장해야합니다. UTC 시간에는 클라이언트의 시간대 정보가 없습니다. 오프셋은 UTC의 경우 0입니다. – user2216889