`

JDK的Logging

    博客分类:
  • JDK
 
阅读更多
jdk自带有一个log日志,对于一般的使用,仅够了.
代码如下:
package org.frame.base.logging;

import java.util.logging.Level;
import java.util.logging.Logger;
 
/**
 * JDK自带的log挺好玩的
 *
 * @author ycl
 * @version 1.0 2012-11-6 上午10:31:37
 * @since 1.0
 *
 */
public class JDKLog {
	static{
		System.setProperty("java.util.logging.config.file", System.getProperty("user.dir")+"\\jdkLogging.properties");
		System.out.println(System.getProperty("java.util.logging.config.file"));
	}
	
	private static Logger logger = Logger.getLogger("A组");

	public static void main(String[] args) { 
		logger.log(Level.INFO, "a雷兄嘿嘿");
		logger.log(Level.WARNING, "去死");
		logger.log(Level.WARNING, System.getProperty("java.util.logging.config.file"));
	
	}
}


jdk自带的logging配置文件在jdk安装的lib目录下,这里需要重写。内容如下:
############################################################
#  	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

# 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. XMLFormatter
java.util.logging.FileHandler.pattern = D:\\fileTest.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


############################################################
# 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


默认jdk日志只打印在控制台,我这里把jdk日志输出到文件中.
基本上和log4j的配置相差不多,jdk自带日志比较方便,项目不需要引入jar.
jdk的日志使用的是nio,其效率不会很差,一般使用比如日志记录,把日志写到文件中,把日志消息发送到日志服务中心等等.
我感觉这个还是挺好玩的,如果使用Applet等,或者jar包client需要记录一些日志等,不需要引入三方jar,项目全清新很多.

当然了一般一个公司只会选择一种日志系统,这个就看架构了,日志系统是很重要的一环。
分享到:
评论
Global site tag (gtag.js) - Google Analytics