Java 在Groovy中配置日志记录

Java 在Groovy中配置日志记录,java,groovy,Java,Groovy,我在Groovy中使用java日志记录,我想修改格式字符串,因此我只有一行而不是两行,但我尝试的方法不起作用-我看了这个问题: 我尝试将属性传递给groovy,但它没有改变格式 我是这样通过的: groovy myScript.groovy-Djava.util.logging.SimpleFormatter.format=%1$tF%1$tT 但是它看起来不像是捡到的。您可以使用JAVA\u OPTS来实现这一点。比如说, import java.util.logging.* Logger

我在Groovy中使用java日志记录,我想修改格式字符串,因此我只有一行而不是两行,但我尝试的方法不起作用-我看了这个问题:

我尝试将属性传递给groovy,但它没有改变格式

我是这样通过的:

groovy myScript.groovy-Djava.util.logging.SimpleFormatter.format=%1$tF%1$tT


但是它看起来不像是捡到的。

您可以使用
JAVA\u 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')
和设置(即windows的以下设置):

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

下面是我所做的-我在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脚本)