日志
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.25</version> <scope>test</scope> </dependency>
在项目的resources目录下创建log4j所需的配置文件:log4j.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration> <appender name="myConsole" class="org.apache.log4j.ConsoleAppender"> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="[%d{dd HH:mm:ss,SSS\} ] %-5p [%t] %c{2\} - %m%n" /> </layout> <!--过滤器设置输出的级别--> <filter class="org.apache.log4j.varia.LevelRangeFilter"> <param name="levelMin" value="debug" /> <param name="levelMax" value="warn" /> <param name="AcceptOnMatch" value="true" /> </filter> </appender> <appender name="myFile" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="D:/output.log" /><!-- 设置日志输出文件名 --> <!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 --> <param name="Append" value="true" /> <param name="MaxBackupIndex" value="10" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%p (%c:%L)- %m%n" /> </layout> </appender> <!-- 根logger的设置--> <root> <priority value ="debug"/> <appender-ref ref="myConsole"/> <appender-ref ref="myFile"/> </root> </log4j:configuration>
5.5 使用logback日志框架
-
导入依赖
-
<dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version> </dependency>
在项目的resources目录下创建logback的配置文件:logback-test.xml
-
<?xml version="1.0" encoding="UTF-8"?> <configuration scan="true" scanPeriod="6000000" debug="false"> <property name="LOG_PATTERN" value="%date{HH:mm:ss.SSS} %5p [%t:%c{1}:%L] - %msg%n"/> <!-- 系统级配置文件 开始 --> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <layout class="ch.qos.logback.classic.PatternLayout"> <Pattern>${LOG_PATTERN}</Pattern> </layout> </appender> <appender name="FILE" class="ch.qos.logback.core.FileAppender"> <file>testFile.log</file> <append>true</append> <encoder> <pattern>${LOG_PATTERN}</pattern> </encoder> </appender> <root level="debug"> <appender-ref ref="STDOUT"/> <appender-ref ref="FILE"/> </root>
-
5.6 SpringBoot应用中如何使用日志
-
-
<?xml version="1.0" encoding="UTF-8"?> <configuration> <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <springProfile name="dev"> <pattern>%d{yyyy-MM-dd-HH:mm:ss.SSS} %level [%thread]-%class:%line~~%msg%n</pattern> </springProfile> <springProfile name="!dev"> <pattern>%d{yyyy-MM-dd-HH:mm:ss.SSS} %level [%thread]-%class:%line~~%msg%n</pattern> </springProfile> <!--日志的编码格式--> <charset>UTF-8</charset> </encoder> </appender> <!--这个就表示的是要把 日志输出到文件(FileAppender)--> <appender name="file" class="ch.qos.logback.core.FileAppender"> <file>D:/log/output.log</file> <!--设置日志是否追加--> <append>true</append> <encoder> <pattern>%d{yyyy-MM-dd-HH:mm:ss.SSS} %level [%thread]-%class:%line>>%msg%n</pattern> <charset>UTF-8</charset> </encoder> <!--设置日志写入是否线程安全--> <prudent>false</prudent> </appender> <appender name="timeFile" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!--TimeBasedRollingPolicy 基于时间的滚动策略--> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>d:/log/log-%d{yyyy-MM-dd}.log</fileNamePattern> </rollingPolicy> <encoder> <pattern>%d{yyyy-MM-dd-HH:mm:ss.SSS} %level [%thread]-%class:%line>>%msg%n</pattern> <charset>UTF-8</charset> </encoder> </appender> <appender name="fixedFile" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>d:/log/fixedFile.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <fileNamePattern>log/fixedFile%i.log</fileNamePattern> <minIndex>1</minIndex> <maxIndex>10</maxIndex> </rollingPolicy> <!--SizeBasedTriggeringPolicy--> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>5MB</maxFileSize> </triggeringPolicy> <encoder> <pattern>%d{yyyy-MM-dd-HH:mm:ss.SSS} %level [%thread]-%class:%line>>%msg%n </pattern> <charset>UTF-8</charset> </encoder> </appender> <!-- <logger name="com.qf.springboot.controller" level="info" addtivity="false">--> <!-- <appender-ref ref="file" />--> <!-- <appender-ref ref="timeFile" />--> <!-- <appender-ref ref="fixedFile" />--> <!-- </logger>--> <root level="info"> <appender-ref ref="stdout" /> <appender-ref ref="timeFile"/> </root> </configuration>
-
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步