Spring Boot(四)之添加log配置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33689414/article/details/81812773

Spring Boot(四)之添加log配置

1.在项目中创建一个logback.xml文件

文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="false">

    <!--设置logPath的变量,变量的值:/Webapp/springboot-mybatis-demo/log -->
    <property name="logPath" value="/Webapp/springboot-mybatis-demo/log"/>
    <property name="system" value="/springboot-mybatis-demo"/>

    <!--设置上下文监听-->
    <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
        <resetJUL>true</resetJUL>
    </contextListener>


    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%date|%thread|%5level|%logger{50}|%L|%msg%n</pattern>
        </encoder>
    </appender>

    <!--RollingFileAppender:滚动文件-->
    <appender name="errorLog"
              class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--log文件名称-->
        <file>${logPath}/${system}_error.log</file>
        <!---->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${logPath}/${system}_error.%d{yyyy-MM-dd}.%i.log.zip
            </fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy
                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <!--log文件最大值-->
                <maxFileSize>100MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <!--log文件保留最长时间-->
            <maxHistory>7</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%date|%thread|%5level|%logger{50}|%L|%msg%n</pattern>
        </encoder>
    </appender>

    <appender name="springbootLog"
              class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${logPath}/${system}_springbootLog.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${logPath}/${system}_springbootLog.%d{yyyy-MM-dd}.%i.log.zip
            </fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy
                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>100MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <maxHistory>7</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%date|%thread|%5level|%logger{50}|%L|%msg%n
            </pattern>
        </encoder>
    </appender>

    <!--使用上面定义的appender-->
    <root level="INFO">
        <appender-ref ref="springbootLog"/>
        <appender-ref ref="errorLog"/>
        <appender-ref ref="console"/>
    </root>

</configuration>

logback的使用和logback.xml详解

2.在application.yml中添加logback

# logger
logging:
    config: classpath:logback.xml

image

3.在代码中使用Logger

@Service(value = "userService")
public class UserServiceImpl implements UserService {

    private Logger logger = LoggerFactory.getLogger(UserServiceImpl.class);

    @Autowired
    private UserDao userDao;

    @Override
    public int addUser(User user) {
        logger.info("addUser: " + user);
        return userDao.add(user);
    }

    @Override
    public User searchById(String userId) {
        logger.info("searchById: " + userId);
        return userDao.searchById(userId);
    }

    @Override
    public List<User> searchAll() {
        logger.info("searchAll");
        return userDao.searchAll();
    }
}

4.测试logback是否生效

请求searchAll接口,查看log

image

image

猜你喜欢

转载自blog.csdn.net/qq_33689414/article/details/81812773