0

我正在运行一个 .jar 文件,当我运行它时,我看到我的方法正在执行......

INFO: ------- Order #295389
Mar 11, 2013 2:10:31 PM com.production.tasks.ImportNewOrders checkForOrders
INFO:     - Order has already been imported
Mar 11, 2013 2:10:31 PM com.production.tasks.ImportNewOrders checkForOrders
INFO: ...finished fetching orders, will check again in 60 seconds

我宁愿只看到...

INFO: ------- Order #295389
INFO:     - Order has already been imported
INFO: ...finished fetching orders, will check again in 60 seconds

如何阻止输出中的方法执行?

4

4 回答 4

1

您必须更改日志级别以仅记录更高级别的日志。现在INFO(根据您的输出猜测)您可以将其设置为WARN仅记录警告或更高级别的消息。您可以在配置文件中找到这些设置。有关不同级别的更多信息,请访问 log4j 的此链接

于 2013-03-11T18:20:13.090 回答
1

如果您使用的是 Log4J,请找到您的 log4j.properties 文件。请注意使用的 ConversionPattern 属性。特别是,我认为您需要删除C(完全限定的类名)和M(方法名)。有关选项的完整列表,请参见此处

于 2013-03-11T18:32:54.030 回答
0

那不是标准的java输出。看起来您有一个日志框架将其记录下来(可能是 log4j、slf4j、logback、java logger 或 commons logging)。您必须将日志配置为不打印出方法信息。

于 2013-03-11T18:17:46.010 回答
0

这不是 log4j 做的,但它实际上是在java.util.logging记录每个方法调用。

这将隐藏方法调用:

System.setProperty("java.util.logging.SimpleFormatter.format", "%4$s: %5$s%n");

于 2013-05-08T19:13:30.973 回答