山东德铭工程建设公司网站,行业门户网站建设费用,域名归属查询,广州网站建设信科便宜文章目录 1.pom.xml引入依赖2.配置文件引入log4j2的配置文件3.导入log4j2配置文件4.通过Slf4j注解来使用log.info()等最后 1.pom.xml引入依赖 提示#xff1a;lombok用于Slf4j注解 dependencygroupIdorg.springframework.boot/groupIdartifactIdSlf4j注解来使用log.info()等最后 1.pom.xml引入依赖 提示lombok用于Slf4j注解 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactIdexclusions!--过滤系统自带日志--exclusiongroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-logging/artifactId/exclusion/exclusions/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-log4j2/artifactId/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependency2.配置文件引入log4j2的配置文件 提示在配置文件yaml中引入
logging:config: classpath:log4j2-spring.xml3.导入log4j2配置文件 提示文件名为log4j2-spring.xml放置在/src/main/resources文件夹下与yaml配置文件同路径可直接使用下面的配置文件信息或根据自己需求修改。
?xml version1.0 encodingUTF-8?
!--日志级别以及优先级排序: OFF FATAL ERROR WARN INFO DEBUG TRACE ALL --
!--Configuration后面的status这个用于设置log4j2自身内部的信息输出可以不设置当设置成trace时你会看到log4j2内部各种详细输出 --
!--monitorIntervalLog4j能够自动检测修改配置 文件和重新配置本身设置间隔秒数 --
configuration statusINFO monitorInterval30!--contextNamelog4j2/contextName --properties!--${sys:catalina.home}表示linux中环境变量中的tomcat根目录 用户主目录 --!--原来用logback时候在统一配置中心也配置一个logging.path/opt/tomcat-log/${spring.application.name} LOG_PATH是内置变量 --!--${sys:user.home} 用户主目录 --Property namelog_pathlogs/Property!-- 保留日志天数 D H M S 分别对应天 小时 分钟 秒 --property nameKEEP_LOG_DAY60D/property!-- 日志切割的最小单位 --property nameEVERY_FILE_SIZE5M/property/properties!--先定义所有的appender --appendersconsole nameConsole targetSYSTEM_OUT!--输出日志的格式 --PatternLayout pattern[%d][%t][%p][%c:%L] %m%n /ThresholdFilter levelinfo onMatchACCEPTonMismatchDENY //console!--这个输出控制台的配置 --!--console nameConsole targetSYSTEM_OUT followfalse --!--lt;!ndash;输出日志的格式 ndash;gt; --!--PatternLayout pattern%date{yyyy-MM-dd HH:mm:ss.SSS} %level [%thread][%file:%line] - %msg%n / --!--/console --!-- 这个会打印出所有的info及以下级别的信息每次大小超过size则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩作为存档 --RollingFile nameRollingFileInfofileName${log_path}/info.logfilePattern${log_path}/$${date:yyyy-MM-dd}/info-%d{yyyy-MM-dd}-%i.log!--控制台只输出level及以上级别的信息onMatch其他的直接拒绝onMismatch --ThresholdFilter levelinfo onMatchACCEPTonMismatchDENY /!--Filters --!--ThresholdFilter levelINFO/ --!--ThresholdFilter levelWARN onMatchDENY --!--onMismatchNEUTRAL/ --!--/Filters --PatternLayout pattern[%d][%t][%p][%c:%L] %m%n /Policies!-- 归档每天的文件 --!--TimeBasedTriggeringPolicy interval1 modulatetrue/ --TimeBasedTriggeringPolicy /!-- 限制单个文件大小 --SizeBasedTriggeringPolicysize${EVERY_FILE_SIZE} //Policies!-- 限制每天文件个数 -- !-- DefaultRolloverStrategy属性如不设置则默认为最多同一文件夹下7个文件这里设置了100 --DefaultRolloverStrategy max256Delete basePath${log_path}/ maxDepth3IfFileName glob*/*info*.log /IfLastModified age${KEEP_LOG_DAY} //Delete/DefaultRolloverStrategy/RollingFileRollingFile nameRollingFileWarnfileName${log_path}/warn.logfilePattern${log_path}/$${date:yyyy-MM-dd}/warn-%d{yyyy-MM-dd}-%i.logThresholdFilter levelwarn onMatchACCEPTonMismatchDENY /!--PatternLayout charsetGBK pattern[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n / --PatternLayout pattern[%d][%t][%p][%c:%L] %m%n /PoliciesTimeBasedTriggeringPolicy /SizeBasedTriggeringPolicysize${EVERY_FILE_SIZE} //Policies!-- DefaultRolloverStrategy属性如不设置则默认为最多同一文件夹下7个文件这里设置了100 --DefaultRolloverStrategy max256Delete basePath${log_path}/ maxDepth3IfFileName glob*/*warn*.log /IfLastModified age${KEEP_LOG_DAY} //Delete/DefaultRolloverStrategy/RollingFileRollingFile nameRollingFileErrorfileName${log_path}/error.logfilePattern${log_path}/$${date:yyyy-MM-dd}/error-%d{yyyy-MM-dd}-%i.logThresholdFilter levelerror onMatchACCEPTonMismatchDENY /!--PatternLayout charsetGBK pattern[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n / --PatternLayout pattern[%d][%t][%p][%c:%L] %m%n /PoliciesTimeBasedTriggeringPolicy /SizeBasedTriggeringPolicysize1${EVERY_FILE_SIZE} //Policies!-- DefaultRolloverStrategy属性如不设置则默认为最多同一文件夹下7个文件这里设置了100 --DefaultRolloverStrategy max256Delete basePath${log_path}/ maxDepth3IfFileName glob*/*error*.log /IfLastModified age180D //Delete/DefaultRolloverStrategy/RollingFile/appenders!--然后定义logger只有定义了logger并引入的appenderappender才会生效 --loggers!--过滤掉spring和mybatis的一些无用的DEBUG信息 --logger nameorg.springframework levelINFO/loggerlogger nameorg.mybatis levelDEBUG/logger!--root levelall --root levelALLappender-ref refConsole /appender-ref refRollingFileInfo /appender-ref refRollingFileWarn /appender-ref refRollingFileError //rootlogger namecn.timebusker.util levelINFOappender-ref refRollingFileInfo //logger/loggers
/configuration4.通过Slf4j注解来使用log.info()等 提示添加Slf4j注解然后在下面直接使用log.info()等方法
package com.example.demo.controller;import com.example.demo.entity.User;
import com.example.demo.service.LoginServcie;
import com.example.demo.utils.ResponseResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import lombok.extern.slf4j.Slf4j;RestController
Slf4j
public class LoginController {PostMapping(/user/login)public ResponseResult login(RequestBody User user) {log.info(111-登录成功!);return null;}
}
控制台打印结果 info.log文件中打印的结果
最后 到此为止欢迎大家交流