[Day1]freemarker默认用的是log4j,更改为logback

515 阅读1分钟

前言:

刚入职不久,不知道这个月的奖项能不能拿到以及拿满多少;

可以存点稿子,周六日,然后每天发。

那么这个月零零散散的就把之前积累在印象笔记遇到的一些问题,所思所想,一些算法,可以记录下来。

(我真的想拿个玩具啊哇塞哇)

问题:

比如项目中如果用的是logback,又想用freemarker,就会遇到一个坑。 freemarker 默认指定是log4j 而不是slf4j。 这样就会遇到问题,所以我们需要重写一下,

解决:

import freemarker.log.Logger;

import lombok.extern.slf4j.Slf4j;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

import org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer;

 

/**

 * @desc: FreemarkerConfig

 * @author: pmdream

 * @date: 2021/3/25 5:55 下午

 */

@Configuration

@Slf4j

public class FreemarkerConfig {

 

    @Bean

    public FreeMarkerConfigurer freeMarkerConfigurer() {

 

        try {

            Logger.selectLoggerLibrary(5);

        } catch (ClassNotFoundException e) {

            log.error("freeMarkerConfigurer error {}", e.toString());

        }

        FreeMarkerConfigurer bean = new FreeMarkerConfigurer();

        return bean;

    }

}

启动的时候,配置这个:Logger.selectLoggerLibrary(5);

image.png

其实就是对应的这个:

image.png

(--这个应该算是过时的方法了,但是亲测可用--)

或者使用-Dorg.freemarker.loggerLibrary=SLF4j 设置到jvm启动参数中

本文完;