我在Groovy中使用java日志记录,我想修改格式字符串,所以我只有一行而不是两行,但我尝试的方法没有用 - 我看了这个问题:
How do I get java logging output to appear on a single line?
我尝试将该属性传递给groovy,但它并没有改变格式。
我这样通过了:
groovy myScript.groovy -Djava.util.logging.SimpleFormatter.format=%1$tF %1$tT
但它看起来并没有被拾起。
答案 0 :(得分:2)
这就是我所做的 - 我将此代码添加到我的groovy中:
System.setProperty("java.util.logging.SimpleFormatter.format",
'%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS %4$-6s %5$s%6$s%n');
Logger log = Logger.getLogger("")
FileHandler fh = new FileHandler("../log/replication.log")
log.addHandler(fh)
SimpleFormatter formatter = new SimpleFormatter()
fh.setFormatter(formatter)
这不要求我在命令行中修改java属性(我不想创建额外的脚本来启动我的groovy脚本)。
答案 1 :(得分:1)
您可以使用JAVA_OPTS
。例如,
import java.util.logging.*
Logger log = Logger.getLogger('test')
log.setLevel(Level.INFO)
log.info('Test info log')
log.warning('Test warning')
log.config('Test config')
log.fine('Test fine')
和设置(即下面的窗口):
set JAVA_OPTS="-Djava.util.logging.SimpleFormatter.format=%1$tF %1$tT [%4$s] %5$s %n"
运行上面的示例脚本会产生:
> groovy testLoggingJavaUtil.groovy
2015-03-27 17:35:48 [INFO] Test info log
2015-03-27 17:35:48 [WARNING] Test warning