我正在尝试在java.util.logging中使用默认记录器时抑制日期行durinng日志记录的输出.例如,这是一个典型的输出:
Jun 1, 2010 10:18:12 AM gamma.utility.application info
INFO: ping: db-time=2010-06-01 10:18:12.0, local-time=20100601t101812, duration=180000
Jun 1, 2010 10:21:12 AM gamma.utility.application info
INFO: ping: db-time=2010-06-01 10:21:12.0, local-time=20100601t102112, duration=180000
我想摆脱Jun 1, 2010...线条,它们只是混乱了我的日志输出.我怎样才能做到这一点?
我正在使用Java默认记录器,现在它正在输出很多无用的垃圾,这里有一个例子,这行代码:
log.info("Logging pointless information...")
Run Code Online (Sandbox Code Playgroud)
将输出所有这些:
Oct 26, 2011 9:37:57 PM java.util.logging.LogManager$RootLogger log
INFO: Logging pointless information...
Run Code Online (Sandbox Code Playgroud)
除了第二行,我不需要知道任何事情.我怎样才能删除这些垃圾?我想要的只是简单的文本记录.
使用java.util.logging.Logger将一些日志输出到控制台,如下所示:
public static void main(String[] args) {
Logger logger = Logger.getLogger("test");
logger.info("Hello Wolrd!");
}
Run Code Online (Sandbox Code Playgroud)
输出是:
FEB 16, 2012 10:17:43 AM com.abc.HelloWorld main
INFO: Hello World.
Run Code Online (Sandbox Code Playgroud)
这似乎没问题,但......
我们在所有Ant任务(内部标准)中使用java.util.logging.Logger,我们有一个大型的ant项目.完整周期的控制台输出可能大于300KB,其中我们自己的记录器输出至少达到50.
现在我不想看到有关Level.INFO输出的时间,类名和方法的信息.信息行也使得难以专注于自定义消息.
那么有没有办法从每个输出(或仅从每个Level.INFO输出)中删除第一行(时间戳,类和方法的信息)?
我想启用 Tomcat 日志记录并进行更改Tomcat/conf/logging.properties(我已启用org.apache.catalina.util.LifecycleBase.level = FINE)
但是,当我从 Eclipse 启动 Tomcat 时,它会忽略我的设置并像以前一样显示日志。
我java.util.logging用于日志记录(我不想使用 log4j 或其他任何东西)。
这是我完整的私有 logging.properties:
handlers= java.util.logging.FileHandler
.level= INFO
java.util.logging.FileHandler.pattern = my.log
java.util.logging.FileHandler.limit = 500000
java.util.logging.FileHandler.count = 40
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
Run Code Online (Sandbox Code Playgroud)
这是我程序中的代码:
public static Logger log = Logger.getLogger(MyClass.class.getName());
// Is there anything else to be init'ed here?
// I don't. I just start using log directly in the code.
log.severe("something");
log.info("something else");
Run Code Online (Sandbox Code Playgroud)
由于这在 2 行上给出了每个日志消息,我试过这个
完全复制了第一个回复中的 LogFormatter 类。
在我的 logging.properties 中更改了一行
java.util.logging.FileHandler.formatter = com.mycomp.myproj.LogFormatter;
Run Code Online (Sandbox Code Playgroud)
现在我的日志已经开始出现在 XML 中。我有一种强烈的感觉,FileHandler不喜欢我的com.mycomp.myproj.LogFormatter,因此默认为 default XMLFormatter。我如何找出为什么FileHandler …