Velocity模板语言VTL中的动态日期变量

问题描述

我正在使用基于Velocity模板语言的工具创建日志文件。

由于我想在每个记录的行中添加一个时间戳,因此我正在使用$dateTool将当前日期分配给一个变量,我希望在每个记录的行中打印该变量。

#set($currentDate=$dateTool.get('yyyy-MM-dd HH:mm:ss,ms'))

但是,由于此变量存储了完整脚本中最后一次执行(赋值)的值,因此每次写入日志之前,我都必须为此变量分配一个新日期,例如:

#set($currentDate=$dateTool.get('yyyy-MM-dd HH:mm:ss,ms'))

$logFile.write("$currentDate This is the first line. ")  

## ...

#set($currentDate=$dateTool.get('yyyy-MM-dd HH:mm:ss,ms'))

$logFile.write("$currentDate This is the second line. ")  

有什么方法可以为变量分配动态的“当前日期”(例如,以节省一些代码行)?

----编辑-----

我目前正在对宏使用以下变通方法来获取时间:

######################## LOG LEVELS with Timestamp ########################
#macro( INFO )$dateTool.get('yyyy-MM-dd HH:mm:ss,S') [INFO] - #end

#macro( WARN )$dateTool.get('yyyy-MM-dd HH:mm:ss,S') [WARN] - #end

#macro( ERROR )$dateTool.get('yyyy-MM-dd HH:mm:ss,S') [ERROR] - #end
############################################################################

,然后在记录任何行时每次都调用宏:

$logFile.write("#INFO() This is any log line ")

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...