JUL 为Java util loging 的缩写
其中的代码也主要位于该包之下
JUL主要划分为几个部分
LogMannager: 我们需要通过该类来加载配置文件中的配置
Logger 代码中拥戴的日志记录器
Handler/appenders 日志控制器
Layouts/Formatters 格式化
Filter 是一个函数式编程接口 返回true 表示通过
Level 日志级别 枚举 包括
SEVERE WARNING INFO CONFIG FINE FINER FINESTErrorManager 为handler提供的一个异常处理器
LogRecord 包装的日志记录
配置文件配置
# JUL 日志配置
####
#### 注意设置 日志级别时 需要同时设置 logger 与handler 的日志级别
####
################### 设置logger
## RootLogger处理器(名称为"")
#handlers= java.util.logging.ConsoleHandler,java.util.logging.FileHandler
# RootLogger日志等级
#.level= INFO
#自定义logger
com.gavin2.handlers=java.util.logging.FileHandler
com.gavin2.level=CONFIG
# 如果不设置会继承父LOGGER的
#关闭默认配置
com.gavin2.useParentHandlers=false
## TestLog日志处理器
TestLog.handlers= java.util.logging.FileHandler
# TestLog日志等级
TestLog.level= ALL
# 忽略父日志处理
TestLog.useParentHandlers=false
################### 设置handler
## 控制台处理器
# 输出日志级别
java.util.logging.ConsoleHandler.level = INFO
# 输出日志格式
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.ConsoleHandler.encoding = UTF-8
## 文件处理器
# 输出日志级别a
java.util.logging.FileHandler.level=CONFIG
# 输出日志格式
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
# 输出日志文件路径
java.util.logging.FileHandler.pattern = H:\\log\\testLog.log
# 输出日志文件限制大小(50000字节)
java.util.logging.FileHandler.limit = 5000
# 输出日志文件限制个数
java.util.logging.FileHandler.count = 10
# 输出日志文件 是否是追加
java.util.logging.FileHandler.append=true
程序中的使用
@Test
public void slfLogTest() throws IOException {
//LogMannager 读取并加载配置信息(加载一次即可)
LogManager logManager = LogManager.getLogManager();
InputStream in = JULtestLog.class.getClassLoader().getResourceAsStream("log.properties");
logManager.readConfiguration(in);
//获取logger对象
Logger logger = Logger.getLogger("com.gavin2");
//记录日志
logger.warning("com.gavin2:warning");
logger.info("com.gavin2:info");
logger.config("com.gavin2:config");
}