关键云代工厂的时区变化

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关键云代工厂的时区变化相关的知识,希望对你有一定的参考价值。

我在PCF(Pivotal云代工厂)中的春季启动应用程序以UTC + 5:30显示“新日期()”的日志和输出,我想将此时区更改为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

如果有人能指出我正确的方向,我们非常感激。

答案

最后认为这是在云代工厂记录正确时间戳的明显变化。下面是解决它的变化(最后一行中的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
另一答案

您必须在log4j设置中维护格式。这个SO Forum有很好的细节

以上是关于关键云代工厂的时区变化的主要内容,如果未能解决你的问题,请参考以下文章

23种设计模式--工厂模式-Factory Pattern

23种设计模式--工厂模式-Factory Pattern

设计模式--工厂模式

工厂模式

工厂模式

为啥尽管源代码没有变化,但从一个系统到另一个系统的片段数量却有很大差异?