Contents
Overview
* Default config file is located at: JDK_HOME/jre/lib/logging.properties
Sample Config File: mylogging.properties
* Output to both console and file named java.log in user home directory.
* Log only INFO level and above (i.e. INFO, WARNING and SERVERE)
* Append to existing log entries.
############################################################ # Default Logging Configuration File # # You can use a different file by specifying a filename # with the java.util.logging.config.file system property. # For example java -Djava.util.logging.config.file=myfile ############################################################ ############################################################ # Global properties ############################################################ # "handlers" specifies a comma separated list of log Handler # classes. These handlers will be installed during VM startup. # Note that these classes must be on the system classpath. # By default we only configure a ConsoleHandler, which will only # show messages at the INFO and above levels. handlers= java.util.logging.ConsoleHandler, java.util.logging.FileHandler # To also add the FileHandler, use the following line instead. #handlers= java.util.logging.FileHandler, java.util.logging.ConsoleHandler # Default global logging level. # This specifies which kinds of events are logged across # all loggers. For any given facility this global level # can be overriden by a facility specific level # Note that the ConsoleHandler also has a separate level # setting to limit messages printed to the console. .level= INFO ############################################################ # Handler specific properties. # Describes specific configuration info for Handlers. ############################################################ # default file output is in user's home directory. java.util.logging.FileHandler.pattern = %h/java%u.log java.util.logging.FileHandler.limit = 50000 java.util.logging.FileHandler.count = 1 java.util.logging.FileHandler.append = true java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter # Limit the message that are printed on the console to INFO and above. java.util.logging.ConsoleHandler.level = INFO java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter # Example to customize the SimpleFormatter output format # to print one-line log message like this: # <level>: <log message> [<date/time>] # # java.util.logging.SimpleFormatter.format=%4$s: %5$s [%1$tc]%n ############################################################ # Facility specific properties. # Provides extra control for each logger. ############################################################ # For example, set the com.xyz.foo logger to only log SEVERE # messages: com.xyz.foo.level = SEVERE
Point to Custom Logging Properties File
* Replace JDK_HOME/jre/lib/logging.properties file
* From command line:
java -Djava.util.logging.config.file=C:/users/john.doe/mylogging.properties
* From Java code:
String mylogfile = System.getProperty("user.home") + "/mylogging.properties"; LogManager.getLogManager().readConfiguration( new FileInputStream(mylogfile )); System.setProperty("java.util.logging.config.file", mylogfile);
Use Logging in Java Code
static final Logger logger = Logger.getLogger(MyTestClass.class.getName()); ... @Test public void testLogging() throws Exception { KrbUtils.setLoggingProperties(); logger.severe("Test severe message."); logger.warning("Test warning message."); logger.info("Test info message."); logger.config("Test config message."); logger.fine("Test fine message."); logger.finer("Test finer message."); logger.finest("Test finest message."); }
* Output:
Jan 15, 2013 1:24:03 PM com.ngc.security.utils.KrbUtilsTest testLogging SEVERE: Test severe message. Jan 15, 2013 1:24:03 PM com.ngc.security.utils.KrbUtilsTest testLogging WARNING: Test warning message. Jan 15, 2013 1:24:03 PM com.ngc.security.utils.KrbUtilsTest testLogging INFO: Test info message.
References
* java.util.logging
* java.util.logging.LogManager
* java.util.logging.level
* http://docs.oracle.com/javase/1.4.2/docs/api/java/util/logging/FileHandler.html