2017-09-26 317 views
0

我有一个在azure上运行的应用程序。 Azure使用UTC时间来处理与日期相关的内容,因此所有日志条目都具有“不正确”的时间。log4j/log4net将时间戳设置为东部时区

如何更改log4net配置文件,以便将时间戳记录为东部时区?

我目前的格局

<layout type="log4net.Layout.PatternLayout"> 
    <conversionPattern value="[%date{dd MMM yyyy HH:mm:ss.fffzzz}] [%5level] (%identity-%username) %message%newline" /> 
    </layout> 
+0

目前还不清楚你问。日志时间以何种方式“不正确”? ['%date'的文档](https://logging.apache.org/log4net/log4net-1.2.13/release/sdk/log4net.Layout.PatternLayout.html)表示_“用于输出日期在本地时区记录事件要在通用时间输出日期,请使用%utcdate模式。“_但您无法在特定时区输出。但是,您可以将想要记录的时间作为GlobalContext参数传递,但在这种情况下,您可以完全控制它。 – stuartd

回答

0

您可以将时区添加到您的conversionPattern,例如:

<layout type="log4net.Layout.PatternLayout"> 
    <conversionPattern value="[%d{dd MMM yyyy HH:mm:ss.fffzzz}{GMT}] [%5level] (%identity-%username) %message%newline" /> 
    </layout> 

您可以检查布局here