您现在的位置是:首页 > 后台技术 > JavaJava

springboot实现不同业务的日志打印到不同的文件中(图文)

第十三双眼睛2019-08-08【Java】人已围观

简介这几天有个项目的日志信息比较多,需要把不同业务的日志打印到不同的文件中去,今天在公司搞了很久都没搞定,晚上回来搞,终于搞定了,记录一下。

项目发布到线上,很难保证不出问题,一旦出了问题,就得看日志来解决,但是如果,所有的日志都写在一个文件中,这个文件会非常大,不利于查找,因此,需要把不同业务的日志打印到不同的日志文件中去,这样,文件小,而且业务分开,便于排错。
1现在项目(springboot)中创建一个配置文件:logback-spring.xml
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
    <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern>
                %d - %msg%n
            </pattern>
        </layout>
    </appender>
 
    <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <onMatch>DENY</onMatch>
            <onMismatch>ACCEPT</onMismatch>
        </filter>
        <encoder>
            <pattern>
                %msg%n
            </pattern>
        </encoder>
        <!--滚动策略-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--路径-->
            <fileNamePattern>E:\Git\log\info/info.%d.log</fileNamePattern>
        </rollingPolicy>
    </appender>
 
 
    <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>ERROR</level>
        </filter>
        <encoder>
            <pattern>
                %msg%n
            </pattern>
        </encoder>
        <!--滚动策略-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--路径-->
            <fileNamePattern>E:\Git\log\error/error.%d.log</fileNamePattern>
        </rollingPolicy>
    </appender>
 
    <root level="info">
        <appender-ref ref="consoleLog" />
        <appender-ref ref="fileInfoLog" />
        <appender-ref ref="fileErrorLog" />
    </root>
</configuration>
2在pom.xml中添加一下依赖
<dependency>
     <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
 </dependency>
3package LoggerTest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class LoggerTest1 {
         private static Logger infologger = LoggerFactory.getLogger("fileInfoLog");
         private static Logger errlogger = LoggerFactory.getLogger("fileErrorLog");
         public static void main(String[] args) {
                  infologger.info("info");
                  errlogger.error("error");
         }
}

运行一下,就会看到两个文件中会有对应的内容,


两个日志中有对应的内容:



看到这个结果,就说明成功了。

Tags:springboot   日志

很赞哦! ()

文章评论

    共有条评论来说两句吧...

    用户名:

    验证码:

站点信息

  • 网站名称:JavaStudy
  • 建站时间:2019-1-14
  • 网站程序:帝国CMS7.5
  • 文章统计69篇文章
  • 标签管理标签云
  • 统计数据百度统计
  • 微信公众号:扫描二维码,关注我们