问题描述
我正在使用基于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 (将#修改为@)