微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。