在pom文件增加slf4j+logback依赖
1.7.21
1.1.7
org.slf4j
slf4j-api
${slf4j.version}
ch.qos.logback
logback-classic
${logback.version}
ch.qos.logback
logback-core
${logback.version}
在类路径下建logback.xml
${APP_NAME}
${CONSOLE_LOG_PATTERN}
${LOG_DIR}/logFile.log
true
${FILE_LOG_PATTERN}
${LOG_DIR}/dayLogFile.%d{yyyy-MM-dd}.log
30
${FILE_LOG_PATTERN}
Loggor1.java
package com.example;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Logger1 {
private static Logger LOGGER = LoggerFactory.getLogger(Logger1.class);
static {
LOGGER.info("This is logger1");
}
}
Loggor2.java
package com.example;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Logger2 {
private static Logger LOGGER = LoggerFactory.getLogger(Logger2.class);
static {
LOGGER.info("This is logger2");
}
}
Loggor3.java
package com.example;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Logger3 {
private static Logger LOGGER = LoggerFactory.getLogger(Logger3.class);
static {
LOGGER.info("This is logger3");
}
}
Main.java
package com.example;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Main {
private static Logger LOGGER = LoggerFactory.getLogger(Main.class);
public static void main(String[] args) {
new Logger1();
new Logger2();
new Logger3();
LOGGER.debug("this is debug");
LOGGER.info("this is info");
LOGGER.warn("this is warn");
LOGGER.error("this is error");
}
}
属性有:
每个logger都关联到logger上下文,默认上下文名称为“default”。但可以使用
用来定义变量值的标签
属性有:
root节点和logger节点其实都是表示Logger组件,root是最顶层的logger。root节点只有一个level属性。
属性有:
属性有:
class取值有:
节点有:
FileAppender 把日志添加到文件
节点有:
RollingFileAppender 滚动记录文件,先将日志记录到指定文件,当符合某个条件时,将日志记录到其他文件
节点有:
TimeBasedRollingPolicy: 最常用的滚动策略,它根据时间来制定滚动策略,既负责滚动也负责出发滚动。
TimeBasedRollingPolicy有子节点:
logger:输出日志的logger名,可有一个整形参数,功能是缩短logger名 | |||
logger | c {length} lo {length} logger {length} |
logger | com.example.Logger1 com.example.Main |
logger{0} | Logger1 Main |
||
logger{1} | c.e.Logger1 c.e.Main |
||
logger{14} | c.e.Logger1 c.example.Main |
||
logger{16} | c.e.Logger3 com.example.Main |
||
logger{17} | c.example.Logger1 com.example.Main |
||
date:输出日志的时间 | |||
date | d {pattern } date {pattern } |
%date | 2020-10-15 19:36:17.491 |
%date{yyyy-MM-dd HH:mm:ss.SSS} | 2020-10-15 19:36:17.491 | ||
level:输出日志级别 | |||
level | p le level |
||
thread:输出产生日志的线程名 | |||
thread | t thread |
||
message:输出应用程序提供的信息 | |||
message | m msg message |
||
n:输出平台相关的分行符“\n”或者“\r\n” | |||
n | n | ||
制表对齐 | |||
%n | 如果长度不够会在左边加空格 | ||
%-n | 如果长度不够会在右边加空格 | ||
%.n | 如果长度超过会从开头开始截取直到长度对应 | ||
%.-n | 如果长度超过会从结尾开始截取直到长度对应 | ||
%n.m | 第一种情况和第三种情况结合,1、2和3、4可以任意结合 |