常用logback.xml配置详解

选择logback的理由

==logback==与==log4j==的简单对比一下:
1.首先,对于同样的代码路径,==logback==使用起来更快。
2.==logback==原生实现了log4j的api,而log4j中间还需要一个转换层。
3.有更丰富的文档,支持xml的和group的配置。
4.对配置文件的在项目启动中,可以热加载。
5.可以自动对日志进行归档,可以对日志进行归档,可以自动压缩日志成为归档文件。
6.支持更多的过滤器和参数化输出。

操作

1.引入依赖xml

        <!-- logback -->
                    <dependency>
                      <groupId>ch.qos.logback</groupId>
                      <artifactId>logback-core</artifactId>
                      <version>1.1.8</version>
                    </dependency>
                    <dependency>
                      <groupId>ch.qos.logback</groupId>
                      <artifactId>logback-classic</artifactId>
                      <version>1.1.8</version>
                    </dependency>
                    <dependency>
                      <groupId>org.slf4j</groupId>
                      <artifactId>slf4j-api</artifactId>
                      <version>1.7.22</version>
                    </dependency>

2.创建logback.xml

            <?xml version="1.0" encoding="UTF-8"?>
            <configuration scan="true" scanPeriod="60 seconds">
            
                <!--日志输入到控制台-->
                <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
                    <encoder>
                        <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
                    </encoder>
                </appender>
            
                <!--<appender name="permission" class="ch.qos.logback.core.rolling.RollingFileAppender">-->
                <!--<file>${catalina.home}/logs/permission.log</file>-->
                <!--<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">-->
                <!--<FileNamePattern>${catalina.home}/logs/permission.%d{yyyy-MM-dd}.log.gz</FileNamePattern>-->
                <!--</rollingPolicy>-->
                <!--<layout class="ch.qos.logback.classic.PatternLayout">-->
                <!--<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>-->
                <!--</layout>-->
                <!--</appender>-->
                <!---->
                <!--<logger name="xxx" level="INFO">-->
                <!--<appender-ref ref="permission"/>-->
                <!--</logger>-->
            
                <!-- TRACE < DEBUG < INFO < WARN < ERROR -->
                <root level="INFO">
                    <appender-ref ref="STDOUT" />
                </root>
            
            </configuration>

注:
configuration里面定义参数:scan、scanPeriod等
1.scan="true" 配置文件发生改变时会重新加载。
2.scanPeriod设置时间间隔,当为scan="true"时才会生效 。
例如:scanPeriod="60 seconds"

3.appender:日志输出形式,可以定义多个 。
STDOURT :标准化输出 class="ch.qos.logback.core.ConsoleAppender" :控制台输出
标准日志格式输出:

         <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
                <encoder>
                    <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
                </encoder>
            </appender>

解释:
%d{yyyy-MM-dd HH:mm:ss.SSS}:时间
[%thread]:进程
%-5level:级别从做显示5个宽度
%logger:日志名称
%msg%:具体的msg

自定义名字和路径记录日志:

         <appender name="permission" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <file>${catalina.home}/logs/permission.log</file>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>${catalina.home}/logs/permission.%d{yyyy-MM-dd}.log.gz</FileNamePattern>
            </rollingPolicy>
            <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
            </layout>
            </appender>

解释:

  1. <file>${catalina.home}/logs/permission.log</file>代表路径在Catalina.home的文件夹下面的logs文件夹下面打印出日志permission.log的日志。
    2.其他的与上面相似

4.logger:日志,可以是类名,也可以是其他、名称,最后返回appender输出。
5.root:只能有一个,日志的级别:从小到大的排序:TRACE < DEBUG < INFO < WARN < ERROR

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

与appender联系起来

这是我在项目中碰见的,所以就当做个笔记,如果有用,大家可以看看,没有用就算了吧。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值