如何使用 log4j2 在日志文件中打印 IST?

How do I print IST in log file using log4j2?

我想使用 log4j2 在我的日志文件中打印 IST。目前它是 UTC 打印时间。下面是我的 log4j2.properties 文件。

name = log4j2

appenders = console, file

appender.file.type = File
appender.file.name = LOGFILE
appender.file.fileName=/home/dockerdev/code/stmtParser/log/fcu_analyzer.log
appender.file.layout.type=PatternLayout
appender.file.layout.pattern=[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n

appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = EnhancedPatternLayout
appender.console.layout.pattern = %d{yyyy-MM-dd HH:mm:ss}{IST} %-5p %c{1}:%L - %m%n

loggers=file
logger.file.name=/home/dockerdev/code/stmtParser/log4j2.properties
logger.file.level = info
logger.file.appenderRefs = file
logger.file.appenderRef.file.ref = LOGFILE

rootLogger.level = debug
rootLogger.appenderRefs = file ,stdout
rootLogger.appenderRef.file.ref = LOGFILE
rootLogger.appenderRef.console.ref = STDOUT

我正在尝试 运行 在本地 docker。由此生成的日志显示 UTC。我怎样才能得到 IST?需要什么改变?

尝试在您的 Dockerfile 中更改时区

我得到了解决方案,因为我使用的是 log4j2,所以我只需要在文件追加器的日期模式之后添加 {IST}。因此,将在日志文件中打印 IST 的最终属性文件是

appender.file.type = File
appender.file.name = LOGFILE
appender.file.fileName=/home/dockerdev/code/stmtParser/log/fcu_analyzer.log
appender.file.layout.type=PatternLayout
appender.file.layout.pattern=[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS}{IST} [%t] %c{1} - %msg%n