Java日志功能:java.util.logging.Logger入门介绍
在我们日常的开发中,肯定是少不了要和日志打交道,在Java中使用日志功能非常方便,请看本文的介绍。
1、创建Logger对象
(1)查找或创建一个logger。如果已经存在同名的logger则返回此logger,否则创建logger然后再返回它。
static Logger getLogger(String name)
(2)查找或创建一个logger。 resourceBundleName是用来指定外部资源,如果不指定,会默认用defaultBundle指定的资源,即是:…/jre/lib下的logging.properties文件。ResourceBundle类是Java自带的类,用来读取项目中后缀为properties的配置文件。
static Logger getLogger(String name, String resourceBundleName)
备注:logger都是单例,在JVM进程中存在一份,getLogger的时候,没有对应name的logger则新建,后续直接使用即可。
2、Logger对象的属性
Logger所对应的属性文件在Java安装目录下的jre/lib/logging.properties
logging.properties文件中的主要内容如下所示:
# 将日志内容输出到控制台和文件中
handlers= java.util.logging.ConsoleHandler,java.util.logging.FileHandler
# 日志输出级别
java.util.logging.ConsoleHandler.level = INFO
# 为生成的输出文件名称指定一个模式,见下文的补充:
java.util.logging.FileHandler.pattern = %h/java%u.log
# 限制文件的大小,以字节为单位
java.util.logging.FileHandler.limit = 50000
# 指定有多少输出文件参与循环(默认为 1)
java.util.logging.FileHandler.count = 1
# 指定要使用的 Formatter 类的名称
java.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter
java.util.logging.ConsoleHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
补充:模式由包括以下特殊组件的字符串组成,则运行时要替换这些组件:
"/" 本地路径名分隔符
"%t" 系统临时目录
"%h" "user.home" 系统属性的值
"%g" 区分循环日志的生成号
"%u" 解决冲突的惟一号码
"%%" 转换为单个百分数符号"%"