LOG - jul-to-slf4j jdk-logging到slf4j的桥梁

原理:

Java Logging API相关类由JDK提供,我们不能排除掉JDK,因而,在"Java Logging API转SLF4J"过程中采用的转换方案跟"JCL转SLF4J"和"Log4J转SLF4J"采用的转换方案不同,具体思路是以jul-to-slf4j提供的"org.slf4j.bridge.SLF4JBridgeHandler"替换掉Java Logging API使用的Handler(Handler即是Appender),Java Logging API原来使用的Handler将日志输出到Console,文件,数据库等,现在"org.slf4j.bridge.SLF4JBridgeHandler"将日志输出到SLF4J日志框架。简单来说,就是将原本Java Logging API的日志输出重定向到SLF4J日志框架。

Java Logging API的默认配置文件路径为:JDK_HOME/jre/lib/logging.properties,根据以上说明,需要修改“handlers”属性值,修改后"handlers"属性的内容如下:

handlers= org.slf4j.bridge.SLF4JBridgeHandler
 

①增加jar包:

        
            org.slf4j
            jul-to-slf4j
            1.7.12
        
        
            org.slf4j
            slf4j-api
            1.7.12
        
        
        
			ch.qos.logback
			logback-classic
			${logback.version}
		

		
			ch.qos.logback
			logback-core
			${logback.version}
		

②增加logging.properties:

#handlers= java.util.logging.FileHandler,java.util.logging.ConsoleHandler
handlers= org.slf4j.bridge.SLF4JBridgeHandler,java.util.logging.FileHandler,java.util.logging.ConsoleHandler
.level= ALL
 
java.util.logging.ConsoleHandler.level = CONFIG
java.util.logging.ConsoleHandler.formatter =java.util.logging.SimpleFormatter
java.util.logging.SimpleFormatter.format=%1$tF %1$tH:%1$tM:%1$tS %2$s%n%4$s: %5$s%6$s%n
        
java.util.logging.FileHandler.level=CONFIG
java.util.logging.FileHandler.pattern = ./logs/californium/coap-source.%g.log
java.util.logging.FileHandler.limit = 50000000
java.util.logging.FileHandler.count = 10
java.util.logging.FileHandler.formatter =java.util.logging.SimpleFormatter
java.util.logging.FileHandler.append=true

 ③启动脚本start.sh:

#!/bin/bash

nohup java -DfilePath=config -Djava.util.logging.config.file=config/logging.properties -jar jars/coap-server.jar &
echo $! > ci.pid

④修改对应的logback.xml文件,指定需要打印日志的项目目录以及保存的文件路径文件名;

这样,就可以把需要的日志打印到设置的文件目录下啦!

你可能感兴趣的:(log)