在此示例中,您将看到我们如何更改或设置Logger日志级别。日志级别将告诉您Logger将记录哪个特定的日志消息。
Logger如果级别等于或高于级别,则仅记录日志消息Logger。例如,当级别设置Level.SEVERE为时,除以记录的消息外Logger.severe(String message),Logger.log(Level level, String message)将不记录任何消息。
package org.nhooo.example.util.logging; import java.util.logging.Logger; import java.util.logging.Level; public class LogLevelSetting { // 获取一个Logger实例,如果该实例尚不存在,它将创建一个实例。 private static Logger logger = Logger.getLogger(LogLevelSetting.class.getName()); public static void main(String[] args) { // 将日志级别设置为Level.INFO,将记录严重消息。 logger.setLevel(Level.INFO); logger.severe("This message will be logged."); // 将日志级别设置为“ Level.SEVERE”,警告消息不会 // 记录为Level.WARNING小于Level.SEVERE logger.setLevel(Level.SEVERE); logger.warning("This message won't be logged."); // 轮到日志了,将不会记录任何消息。 logger.setLevel(Level.OFF); logger.info("All log is turned off."); // 重新打开记录器,这将导致所有对应的 // 下面的记录器消息将被记录。 logger.setLevel(Level.ALL); logger.info("Information message."); logger.warning("Warning message."); logger.severe("Severe message."); } }
如果我们运行上面的程序,将显示以下结果:
29 Apr 09 10:06:50 org.nhooo.example.util.logging.LogLevelSetting main SEVERE: This message will be logged. 29 Apr 09 10:06:50 org.nhooo.example.util.logging.LogLevelSetting main INFO: Information message. 29 Apr 09 10:06:50 org.nhooo.example.util.logging.LogLevelSetting main WARNING: Warning message. 29 Apr 09 10:06:50 org.nhooo.example.util.logging.LogLevelSetting main SEVERE: Severe message.
在上面的结果中,我们看到"This message won't be logged."未显示。