Spring - JDK logger 配置 示例
在GitHub上看到californium项目的时候发现,里面的日志是使用的jdk自带的logger来做的,如果融合到现有项目中使用,并且可以看到californium包里的日志的话,就不能想slf4j或者log4j一样来在.xml中配置了;
logging.properties
handlers= 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/server-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
--日志配置--->java.util.logging.ConsoleHandler.level = CONFIG
--打印效果--->日志在控制台输出的日志级别的CONFIG;
2019-01-29 09:44:15 org.eclipse.californium.elements.UDPConnector start
CONFIG: UDPConnector starts up 1 sender threads and 1 receiver threads
--日志配置---> java.util.logging.SimpleFormatter.format=%1$tF %1$tH:%1$tM:%1$tS %2$s%n%4$s: %5$s%6$s%n
--打印效果--->2019-01-29 09:44:15 org.eclipse.californium.core.network.Matcher <init>
CONFIG: Matcher uses USE_RANDOM_MID_START=true and TOKEN_SIZE_LIMIT=8
--日志配置--->java.util.logging.FileHandler.pattern = ./logs/californium/server-source.%g.log
--打印效果-->会在指定的路径下生成文件,但是./logs/californium/这两级需要手动预先创建好;
--日志配置--->java.util.logging.FileHandler.limit = 50000000
--打印效果-->以字节为单位,50000000 = 50M;
--日志配置--->java.util.logging.FileHandler.count = 10
--打印效果-->配置表示在循环列表中的日志记录数量,1表示不循环;只要文件超出了大小限制,最旧的文件就会被删除,其他的文件将重新命名,同时创建一个新文件,其编号为0。
--日志配置--->java.util.logging.FileHandler.append=true
--打印效果-->表示写的日志内容会追加在指定的日志文件内容后面,而不会去覆盖之前的内容;
启动脚本,指定日志配置文件的路径:
#!/bin/bash
nohup java -DfilePath=config -Djava.util.logging.config.file=config/logging.properties -jar jars/XXX-server-test.jar &
echo $! > ci.pid