选择logback的理由

logback与log4j的简单对比一下:

1.首先,对于同样的代码路径,logback使用起来更快。

2.logback原生实现了log4j的api,而log4j中间还需要一个转换层。

3.有更丰富的文档,支持xml的和group的配置。

4.对配置文件的在项目启动中,可以热加载。

5.可以自动对日志进行归档,可以对日志进行归档,可以自动压缩日志成为归档文件。

6.支持更多的过滤器和参数化输出。

操作

1.引入依赖xml

  1. <!-- logback -->
  2. <dependency>
  3. <groupId>ch.qos.logback</groupId>
  4. <artifactId>logback-core</artifactId>
  5. <version>1.1.8</version>
  6. </dependency>
  7. <dependency>
  8. <groupId>ch.qos.logback</groupId>
  9. <artifactId>logback-classic</artifactId>
  10. <version>1.1.8</version>
  11. </dependency>
  12. <dependency>
  13. <groupId>org.slf4j</groupId>
  14. <artifactId>slf4j-api</artifactId>
  15. <version>1.7.22</version>
  16. </dependency>

2.创建logback.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration scan="true" scanPeriod="60 seconds">
  3. <!--日志输入到控制台-->
  4. <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
  5. <encoder>
  6. <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
  7. </encoder>
  8. </appender>
  9. <!--<appender name="permission" class="ch.qos.logback.core.rolling.RollingFileAppender">-->
  10. <!--<file>${catalina.home}/logs/permission.log</file>-->
  11. <!--<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">-->
  12. <!--<FileNamePattern>${catalina.home}/logs/permission.%d{yyyy-MM-dd}.log.gz</FileNamePattern>-->
  13. <!--</rollingPolicy>-->
  14. <!--<layout class="ch.qos.logback.classic.PatternLayout">-->
  15. <!--<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>-->
  16. <!--</layout>-->
  17. <!--</appender>-->
  18. <!---->
  19. <!--<logger name="xxx" level="INFO">-->
  20. <!--<appender-ref ref="permission"/>-->
  21. <!--</logger>-->
  22. <!-- TRACE < DEBUG < INFO < WARN < ERROR -->
  23. <root level="INFO">
  24. <appender-ref ref="STDOUT" />
  25. </root>
  26. </configuration>

注:

configuration里面定义参数:scan、scanPeriod等

1.scan="true" 配置文件发生改变时会重新加载。

2.scanPeriod设置时间间隔,当为scan="true"时才会生效 。

例如:scanPeriod="60 seconds"

3.appender:日志输出形式,可以定义多个 。

STDOURT :标准化输出 class="ch.qos.logback.core.ConsoleAppender" :控制台输出

标准日志格式输出:

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

解释:

%d{yyyy-MM-dd HH:mm:ss.SSS}:时间

[%thread]:进程

%-5level:级别从做显示5个宽度

%logger:日志名称

%msg%:具体的msg

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

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

  1. <root level="INFO">
  2. <appender-ref ref="STDOUT" />
  3. </root>

与appender联系起来

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

常用logback.xml配置详解的更多相关文章

  1. logback.xml配置详解

    先附上本文分析用的例子: <?xml version="1.0" encoding="UTF-8" ?> <configuration> ...

  2. (转)Spring boot——logback.xml 配置详解(二)

    文章转载自:http://aub.iteye.com/blog/1101260,在此对作者的辛苦表示感谢! 1 根节点<configuration>包含的属性 scan: 当此属性设置为t ...

  3. Spring boot——logback.xml 配置详解(二)

    阅读目录 1 根节点包含的属性 2 根节点的子节点 文章转载自:http://aub.iteye.com/blog/1101260,在此对作者的辛苦表示感谢! 回到顶部 1 根节点<config ...

  4. logback.xml 配置详解(转)

    <?xml version="1.0" encoding="UTF-8"> <configuration> <!-- 设置控制台日 ...

  5. (六)logback.xml 配置详解

    原文链接:https://www.cnblogs.com/taiyonghai/p/9290641.html,https://blog.csdn.net/A615883576/article/deta ...

  6. (转)Spring boot——logback.xml 配置详解(四)<filter>

    文章转载自:http://aub.iteye.com/blog/1101260,在此对作者的辛苦表示感谢! 1 filter的使用 <filter>: Logback的过滤器基于三值逻辑( ...

  7. Spring boot——logback.xml 配置详解(四)<filter>

    阅读目录 1 filter的使用 2 常用的过滤器 文章转载自:http://aub.iteye.com/blog/1101260,在此对作者的辛苦表示感谢! 回到顶部 1 filter的使用 < ...

  8. (转)Spring boot——logback.xml 配置详解(三)<appender>

    文章转载自:http://aub.iteye.com/blog/1101260,在此对作者的辛苦表示感谢! 1 appender <appender>是<configuration& ...

  9. Spring boot——logback.xml 配置详解(三)<appender>

    阅读目录 1 appender 2  encoder 文章转载自:http://aub.iteye.com/blog/1101260,在此对作者的辛苦表示感谢! 回到顶部 1 appender < ...

随机推荐

  1. Linux - 查看端口的占用情况、找出并杀死占用进程的方法

    目录 1 lsof查看端口的占用情况 1.1 命令使用示例 1.2 查看某一端口的占用情况 1.3 杀死某个端口的所有进程 2 netstat查看端口占用情况 2.1 命令使用示例 2.2 查看占用某 ...

  2. HTML/CSS:block,inline和inline-block概念和区别

    总体概念 block和inline这两个概念是简略的说法,完整确切的说应该是 block-level elements (块级元素) 和 inline elements (内联元素).block元素通 ...

  3. spring架构解析--入门一

    Spring 框架中的核心组件只有三个:Core.Context 和 Beans.它们构建起了整个 Spring 的骨骼架构.简单理解: spring core是工具,context是环境,而bean ...

  4. php cmd命令行 导入 与备份

  5. MinorGC和FullGC的触发条件

    前言 无论是日常工作,还是企业面试,我们都会经常接触到GC.我们都知道GC是java中的垃圾回收策略.GC帮我们省去了很多事.在GC中,我经常听到的就属于MinorGC和FullGC了.那么在什么情况 ...

  6. Java8中Instant和LocalDate来计算时间或者日期间隔

    /** * java.time.Instant * java.time.Duration * Instant 默认使用UTC时区:2019-01-24T14:01:32.258Z * mongo中的时 ...

  7. GIT和SVN教程

    各种版本控制工具的简单比较 特性 CVS SVN GIT 并发修改 支持 支持 支持 并发提交 不支持 支持 支持 历史轨迹 不支持更名 支持更名 支持更名 分布式 不支持 不支持 支持 SVN SV ...

  8. Android Studio和 adb 的一些常用技巧

    AS和ADB的随身手册 工欲善其事,必先利其器. 最近因为换了Mac,很多地方有些不太适应,刚好最近有想写一篇记录一些小工具技巧的文章,顺便就把Mac中AS常用的快捷键也一并对应记录起来吧. 以下为A ...

  9. 修改jdk注册表

    如果是新增jdk的话就选中java Development  kit 文件夹右击新建,然后把属性配置上就可以

  10. Nacos(八):Nacos持久化

    参考和感谢 Spring Cloud Alibaba基础教程:Nacos的数据持久化 前言 前景回顾: Nacos(七):Nacos共享配置 Nacos(六):多环境下如何"管理" ...