我在PCF(Pivotal cloud Foundry)中的spring boot应用程序在UTC + 5:30中显示日志和“ new Date()”的输出,我想将此时区更改为UTC-5:00(即CDT)。我碰到了这篇文章:
CloudFOundry timezone change
但是在进行了类似的更改后,它似乎对我的日志记录时间戳没有任何影响。但是,我确实得到了记录的“ new Date()”输出,它与原先的输出不同
2018-09-04T18:40:06.025+05:30 [APP/PROC/WEB/0] [OUT] ########## HIT. Tue Sep 04 13:10:06 GMT 2018
但这也是错误的,新的Date()应该已经打印了“ Tue Sep 04 08:10:06 GMT 2018”
我的manifest.yml具有以下内容
---
path: target/VFS-ConfigClient-0.0.1-SNAPSHOT.jar
memory: 1G
disk_quota: 1G
instances: 1
buildpack: https://github.com/cloudfoundry/java-buildpack.git
applications:
- name: VFS-ConfigClient
env:
SPRING_PROFILES_ACTIVE: nonProd_test
TZ: CDT
我的log4j.properties具有以下内容
# Logging Mechanism
log4j.rootLogger = DEBUG, A1
log4j.appender.A1 = org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout = org.apache.log4j.PatternLayout
log4j.logger.com.centurylink = INFO, DEBUG, ERROR
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stderr.layout = org.apache.log4j.PatternLayout
# Print the date in ISO 8601 format
log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
如果有人能指出正确的方向,我将不胜感激。
最佳答案
最终认为这是在Cloud Foundry中正确记录时间戳的明显变化。下面是解决该问题的更改(最后一行中的JAVA_OPTS env变量)。谢谢大家的帮助。
---
path: target/VFS-ConfigClient-0.0.1-SNAPSHOT.jar
memory: 1G
disk_quota: 1G
instances: 1
buildpack: https://github.com/cloudfoundry/java-buildpack.git
applications:
- name: VFS-ConfigClient
env:
SPRING_PROFILES_ACTIVE: nonProd
JAVA_OPTS: -Duser.timezone=America/Chicago