方法一:
在application配置文件中加入以下配置:
logging: level: 具体的包名: debug #日志等级 logback: rollingpolicy: max-history: 7 #日志清除时间 clean-history-on-start: false #第一次运行时是否清除日志 file: path: "./" name: "logs/日志文件名称.log"
添加此配置运行后:会在项目的根目录下生成logs文件夹及其对应的日志文件
部署到Linux系统中:会在jar包所在的目录中生成logs文件夹及其对应的日志文件
配置log日志的其他条件
log日志配置所需maven:
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency>
所需注释:@Slf4j
获取对象 调用方法:
public static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(类名.class);
log.info("描述文字 {} ", 参数); // {} 是 占位符
日志等级
trace:最低等级
debug:调试用,通常用于跟踪程序进展
info: 记录用,通常用于记录程序行为
warn:警告
error:错误
fatal:灾难性错误,最高等级
方法二:
将xml文件放到resource下
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false" scan="true" scanPeriod="1 seconds">
<contextName>logback</contextName>
<property name="log.path" value="${user.dir}/logs" />
<!-- <property name="log.path" value="./logs" />-->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<!-- <filter class="com.example.logback.filter.MyFilter" /> -->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>info</level>
</filter>
<encoder>
<pattern>控制台-%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n
</pattern>
<!-- <charset>UTF-8</charset>-->
</encoder>
</appender>
<appender name="info_file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>info</level>
</filter>
<file>${log.path}/logback.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.path}/logback.%d{yyyy-MM-dd}.zip</fileNamePattern>
</rollingPolicy>
<encoder>
<pattern>日志文件-%date %level [%thread] %logger{36} [%file : %line] %msg%n
</pattern>
<!-- <charset>UTF-8</charset>-->
</encoder>
</appender>
<appender name="error_file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>error</level>
</filter>
<file>${log.path}/error.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.path}/error.log.%d{yyyy-MM-dd}.zip</fileNamePattern>
</rollingPolicy>
<encoder>
<pattern>日志文件-%date %level [%thread] %logger{36} [%file : %line] %msg%n
</pattern>
<!-- <charset>UTF-8</charset>-->
</encoder>
</appender>
<!--控制是否写入-->
<root level="info">
<appender-ref ref="console" />
<appender-ref ref="info_file" />
<appender-ref ref="error_file" />
</root>
</configuration>
加入Maven
<dependency> <groupId>org.slf4j</groupId> <artifactId>log4j-over-slf4j</artifactId> <version>1.7.32</version> </dependency>
在pom.xml文件中的build标签下加入
<resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.xml</include> <include>**/*.properties</include> </includes> </resource> </resources>
获取对象 调用方法:
public static final org.apache.log4j.Logger logger = Logger.getLogger(类名.class);
log.info("描述文字 {} ", 参数); // {} 是 占位符