Springboot —— Logback日志配置

什么是Logback?

Logback 继承自 log4j。

Logback 的架构非常的通用,适用不同的使用场景。Logback 被分成三个不同的模块:logback-core,logback-classic,logback-access。

logback-core 是其它两个模块的基础。logback-classic 模块可以看作是 log4j 的一个优化版本,它天然的支持 SLF4J,所以你可以随意的从其它日志框架(例如:log4j 或者 java.util.logging)切回到 logack。

logback-access 可以与 Servlet 容器进行整合,例如:Tomcat、Jetty。它提供了 http 访问日志的功能。

logback一共有5个日志等级:DEBUG < INFO < WARN < ERROR < FATAL

DEBUG:是等级最低,打印系统运行时更详细的日志信息。
INFO:用来反馈系统的当前状态给最终用户的。
WARN:指的是有潜在错误,但未发生错误。
ERROR:的是出现错误事件,但系统仍然能够运行。
FATAL:是最严重的错误时间,系统被终止运行。

开始配置

在了解logback的相关背景后,就能开始配置了,我这里用的是springboot来进行配置:

pom.xml引入依赖包:

		 <!-- 日志 -->
		<dependency>
		    <groupId>ch.qos.logback</groupId>
		    <artifactId>logback-classic</artifactId>
		    <version>1.2.3</version>
		</dependency>

文件目录
在这里插入图片描述
application-dev.properties配置 :

#logback所在路径
logging.config=classpath:logback/logback-spring-dev.xml
# 配置logging.level.*来具体输出包的日志级别
logging.level.root=INFO
logging.level.com.xzm.bigdata.mapper=DEBUG

基本需要的都配置好了,接下来我们就logback-spring-dev.xml来对日志信息的配置:

<?xml version="1.0" encoding="UTF-8"?>

<!--
Default logback configuration provided for import, equivalent to the programmatic
initialization performed by Boot
-->

<configuration debug="false">

    <!-- 定义日志存储地方 -->
    <property name="LOG_HOME" value="logs" />

    <!-- 控制台输出 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!-- 格式化输出: %d表示日期, %thread表示线程名称, %-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger[50] - %msg%n</pattern>
        </encoder>
    </appender>

    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 日志输出文件名 -->
            <FileNamePattern>${LOG_HOME}/server-log_%d{yyyy-MM-dd}.log</FileNamePattern>
            <!-- 日志保留天数 -->
            <MaxHistory>30</MaxHistory>
        </rollingPolicy>

        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!-- 格式化输出: %d表示日期, %thread表示线程名称, %-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger[50] - %msg%n</pattern>
        </encoder>
        <!--日志文件最大的大小-->
        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
            <MaxFileSize>10MB</MaxFileSize>
        </triggeringPolicy>
    </appender>

    <logger name="jdbc.sqltiming" level="debug"/>
    <logger name="com.ibatis" level="debug" />
    <logger name="com.ibatis.common.jdbc.SimpleDataSource" level="debug" />
    <logger name="com.ibatis.common.jdbc.ScriptRunner" level="debug" />
    <logger name="com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate" level="debug" />
    <logger name="java.sql.Connection" level="debug" />
    <logger name="java.sql.Statement" level="debug" />
    <logger name="java.sql.PreparedStatement" level="debug" />
    <logger name="java.sql.ResultSet" level="debug" />
    <logger name="org.springframework.web" level="WARN"/>
    <logger name="org.springframework.jdbc" level="WARN"/>
    <logger name="org.apache.shiro" level="WARN"/>
    <logger name="com.lew.jlight" level="INFO"/>

    <!-- root -->
    <root level="INFO">
        <appender-ref ref="STDOUT" />
        <appender-ref ref="FILE" />
    </root>

</configuration>

配置完成,接下来我们尝试运行项目,测试下是否配置成功。

测试

在这里插入图片描述
可以看到格式和我们在logback-dev.xml配置的信息一样,则配置成功。

结尾

logback的功能不止这么点,还有日志字体颜色的改变这些功能,详情的大家可以去查阅下资料。

参考资料:https://www.cnblogs.com/lixuwu/p/5804793.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值