Get the App
SLTechnology News&Howtos  ›  Development  › 

What if mybatis-plus cannot output through logback-spring

Shulou Source: shulou.com Published: 2022-06-02 15:36:24 09月22日 Update

Editor to share with you how mybatis-plus can not output through logback-spring. I hope you will get something after reading this article. Let's discuss it together.

Problem description

Through the official website configuration, mybatis-plus is introduced into the spring boot project, but the log can only be output in the console, but not in the log file of logback.

/ / specific reference URL / / https://mp.baomidou.com/guide/faq.html#%E5%90%AF%E5%8A%A8-mybatis-%E6%9C%AC%E8%BA%AB%E7%9A%84-log-%E6%97%A5%E5%BF%97mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl resolution process

1. Click to view in the StdOutImpl method, which is printed through System.out.println. Logback cannot output this content without configuration.

2. System.out.println is output in logback print file. I found three methods.

Method 1:

System.setOut (new PrintStream (new File ("log path")); System.out.println ()

Method 2: use the jar package

Uk.org.lidalia sysout-over-slf4j 1.0.2

Add to the web.xml file

Uk.org.lidalia.sysoutslf4j.context.SysOutOverSLF4JServletContextListener

Method 3: the spring-boot project uses the nohup command to start the output of unspecified log files, and all logs will be output to nohup.out. You can write a shell script regularly, cut the contents of nohup.out by date, and discard the log files output by logback.

This_path=$ (cd `date $0`; pwd) cd $this_path echo $this_path current_date= `date-d "- 1 day" +% Y%m%d "`echo $current_date / / split the specified character size into the new file split-b + 100m-d-a 4 / home/.../nohup.out / home/.../log/log_$ {current_date} _ / / clear nohup.out and wait for the next split cat / dev/null > nohup.out

The above three methods are not suitable for my current needs, and I need to solve this problem from a different point of view, for example, give up using StdOutImpl to output logs

Solution

Discard the use of StdOutImpl output logs and remove the log-impl: org.apache.ibatis.logging.stdout.StdOutImpl configuration. Use a regular logback-spring configuration in application.yml.

Logging: level: com.XXX.mapper: debug

You can output sql statements normally.

After reading this article, I believe you have a certain understanding of "what to do if mybatis-plus cannot output through logback-spring". If you want to know more about it, welcome to follow the industry information channel. Thank you for your reading!

Tags: Output logs files methods configuration what to do content articles questions projects commands size characters done general situation console scheme date more Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Linux Redmi Apple OPPO Reno MariaDB