设定日志等级
`全局日志级别`
logging.level.root=INFO
`特定包的日志级别`
logging.level.com.example.demo=DEBUG
开启按时间滚动
`开启按时间滚动`
logging.logback.rollingpolicy.file-name-pattern=logs/myapp.%d{yyyy-MM-dd}.log
`保留 30 天的日志文件`
logging.logback.rollingpolicy.max-history=30
输出格式
`可以指定文件 或者文件路径`
logging.file.name=logs/myapp.log
`指定文件路径 这个时候 logging.file.name 就失效了`
logging.file.path=logs/
`控制台日志输出格式`
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n
`文件日志输出格式`
logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n
%clr(%d{${LOG DATEFORMAT PATTERN:yyyy-MM-dd HH:mm:ss.sss}}){faint}
`其中${LOG DATEFORMAT PATTERN:yyyy-MM-dd HH:mm:ss.sss}
代表 取环境变量 LOG DATEFORMAT PATTERN ,如果为 null 返回 -yyyy-MM-dd HH:mm:ss.sss`
`%clr 修改颜色 {faint}`
`%d 这个代表日期 是 logback的定义规则`
%clr(${LOG_LEVEL_PATTERN:%5p})
`%clr 根据不同的日志级别 输出颜色`
`%5 当前内容所占长度 `
`p 这个代表日志级别 (也可以写level) 是 logback的定义规则`
使用方式
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger logger = LoggerFactory.getLogger(StockDataGate.class);
logger.info("这是一条 INFO 级别的日志");
logger.debug("这是一条 DEBUG 级别的日志");
logger.error("这是一条 ERROR 级别的日志");
用@Slf4j 进行
这里要注意 必须 是 log 变量
@Slf4j
public class StockPool2Application {
@Value("${scheduler.thread.pool.size}")
private int poolSize;
public static void main(String[] args) {
SpringApplication application = new SpringApplication(StockPool2Application.class);
log.info("程序正常启动");
application.run(args);
}
}
Slf4j 是门面 log4j是实现 中间要加转化器 log4j-over-slf4j
Jcl 是门面 Jul是实现 中间要加转化器 jul-over-slf4j jcl-over-slf4j
单纯的使用 jul
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
private final static Log log = LogFactory.getLog(GuxunBaseRequest.class.getName());
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.0</version>
</dependency>