spring boot項目中使用sfl4j+logbak配置

一、pom.xml文件web

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.25</version>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.2.3</version>
        </dependency>
        

二、配置logback.xml文件,配置目錄:/src/main/resources下新增文件logback.xml文件spring

<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
    <!-- %m輸出的信息,%p日誌級別,%t線程名,%d日期,%c類的全名,,,, -->
    <!--ConsoleAppender,顧名思義是要打印到控制檯-->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d %p (%file:%line\)- %m%n</pattern>   <!--pattern 配置控制檯日誌的格式-->
            <charset>UTF-8</charset>   <!--日誌的編碼格式,UTF-8和個人IDE編碼格式一致,不會出現亂碼-->
        </encoder>
    </appender>
    <!--RollingFileAppender,顧名思義,是要輸出到文件的-->
    <appender name="baselog"
              class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>c:/log/base.log</File><!--千萬注意!這裏要用絕對路徑,我測試了相對路徑失敗了-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>d:/log/base.log.%d.%i</fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy  class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <!-- or whenever the file size reaches 64 MB -->
                <maxFileSize>64 MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <encoder>
            <pattern>
                %d %p (%file:%line\)- %m%n
            </pattern>
            <charset>UTF-8</charset> <!-- 此處設置字符集 -->
        </encoder>
    </appender>
    <!--日誌輸出級別,info級別輸出到控制檯-->
    <root level="info">
        <appender-ref ref="STDOUT" />
    </root>
    <!--日誌輸出級別,info級別輸出文件-->
 <logger name="com.yzf" level="info"> <appender-ref ref="baselog" /> </logger></configuration>

三、程序中使用sfl4j類api

package com.yzf.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
public class HelloController {
    private Logger log = LoggerFactory.getLogger(HelloController.class);
    
        /*
         *   http://localhost:8080/hello?name=cn.7player
         */
     
        @RequestMapping("/hello")
        public String greeting(@RequestParam(value="name", required=false, defaultValue="World") String name, Model model) {
            log.info("hello {}","11111111");
            
            model.addAttribute("name", name);
            return "hello";
        }
}
相關文章
相關標籤/搜索