有没有一个简单的方法来使蚂蚁记录器(默认或其他)添加一个
每个消息的时间戳?
每个消息的时间戳?
我可以想到的唯一方法是使用
Log4jListener并且其设置包括时间戳.或写一个
自定义记录器,它将DefaultLogger子类化并写入时间戳.
如果有更好或更简单的方法(最好不要求)
用户在他们的Ant lib目录中安装一个新的jar文件),
我有兴趣听到它.
解决方法
您可以定义一个Ant macrodef来设置当前时间戳,然后在每次需要在整个build.xml中引用它时调用macrodef
以下macrodef将时间戳设置为属性(如果要自定义其设置的属性,则可以向macrodef添加属性):
<macrodef name="set.timestamp"> <sequential> <tstamp> <format property="current.time" pattern="MM/dd/yyyy hh:mm"/> </tstamp> </sequential> </macrodef>
然后使用它,只需访问由macrodef设置的属性:
<target name="doFoo" depends="dir.check" if="dir.exists"> <set.timestamp/> <!--in this example,just echo the timestamp --> <echo message="${current.time}"/> </target>
有关ant宏定义的更多信息,请查看documentation.