Java控制台日志如何隐藏方法执行
问题描述:
我运行一个.jar文件,当我做运行它,我看到正在执行我的方法...Java控制台日志如何隐藏方法执行
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
如何从输出中阻止方法执行?
答
这不是log4j这样做,但它实际上是记录每个方法调用的java.util.logging
。
这将隐藏方法调用:
System.setProperty("java.util.logging.SimpleFormatter.format", "%4$s: %5$s%n");
答
这不是标准的java输出。看起来你有一个日志记录框架(可能是log4j,slf4j,logback,java logger或commons logging)。您必须配置日志记录才能不打印方法信息。
答
如果您使用Log4J,请找到您的log4j.properties文件。请注意使用的ConversionPattern属性。特别是,我认为你需要删除C
(完全合格的类名)和M
(方法名)。有关选项的完整列表,请参阅here。
我尝试添加'System.setProperty( “org.apache.commons.logging.Log”,“org.apache.commons.logging.impl。 NoOpLog“);'我的主要(),它并没有让它消失。虽然,我也没有积极使用apache日志commons - 我正在使用'java.util.logging.Logger' - 我确实包含了apache commons,并且出于其他原因使用它。 – Webnet 2013-03-15 15:39:29
如果您使用的是java记录器,那么设置commons属性将不会执行任何操作。你的日志处理程序是什么样的(它们设置了什么样的模式)? – 2013-03-15 20:42:36