首先需要配置日志的一些信息,具体如下注释很清楚
logback.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- console日志设置 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!-- %d时间,%-5level日志级别trace、debug、info、warn、error,
%logger{36} 表示logger名字最长36个字符,%msg日志具体信息,%n换行-->
<pattern>
%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%n
</pattern>
<charset>UTF-8</charset>
</encoder>
<!--控制台输出的日志级别是大于或等于此级别的日志信息 -->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>info</level>
</filter>
</appender>
<!-- 控制台打印sql语句,name对应你的dao包名 -->
<logger name="com.zycz.myproject.dao" level="debug"/>
<!-- 磁盘日志设置 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 日志文件目录 -->
<file>D:/myproject/httx/logs/out.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 每日滚动生成新的日志文件 -->
<FileNamePattern>
D:/myproject/httx/logs/out.log.%d{yyyy-MM-dd}
</FileNamePattern>
<!--日志文件保留天数 -->
<maxHistory>5</maxHistory>
</rollingPolicy>
<encoder>
<!-- [%thread]线程数 -->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
<!--日志文件最大的大小 -->
<triggeringPolicy
class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>1GB</MaxFileSize>
</triggeringPolicy>
</appender>
<root level="debug">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</root>
</configuration>
业务类中的使用
需要引入这两个类
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
因为我用的springboot,springboot组件中已经整合这两个类所在的jar包,如果你引不进来需要在maven里增加依赖
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.25</version>
</dependency>
然后在业务类下持有log实例就可以了,比如
package com.zycz.myproject.entity;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class LogTest {
private static final Logger LOG = LoggerFactory.getLogger(LogTest.class);
public static void main(String[] args) {
String log = "haha";
LOG.info("log==>{}",log);
}
}
执行main方法后控制台会打印
2018-01-04 19:58:16 INFO com.zycz.myproject.entity.LogTest - log==>haha