为什么80%的码农都做不了架构师?>>>   

对于java后端程序员来说,如何记录日志是一个小话题,只要在网上随便找一个log4j的简单说明,就可以用了。但是,要真正了解日志记录的技术细节,还是需要花点时间研究一下。这里推荐使用SLF4J的logback来记录日志,虽说和log4j区别不大,但其模板打印方式很贴心:

logger.debug("现在要打印第一个数据:{} ,和第二个数据{}",object1,object2);

以下是一个logback.xml配置实例。本文主要参考了aubdiy的文章:

http://aub.iteye.com/blog/1103685

在此表示感谢!

首先,在工程中引入如下包:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

然后在类中引用logger:

  private Logger logger = LoggerFactory.getLogger(this.getClass());

最后,在工程的classpath下,放入logback.xml配置文件。文件中包含的节点的含义和用法,均有详细说明:

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true" scan="true" scanPeriod="60 seconds"><!-- 关于logback的更多介绍,请参考原创文章: http://aub.iteye.com/blog/1103685  --><!-- appender简介:具体描述如何来写日志的节点。最常用的有三类:ConsoleAppender、FileAppender、RollingFileAppenderappender属性详解:name属性:自定义名称。 class属性:指定类名。appender子节点详解:encoder子节点:将日志信息输出的节点,其内部的pattern子节点指定输出格式。--><!-- ConsoleAppender简介:无特殊特性--><appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">  <encoder>  <charset>UTF-8</charset>  <pattern>[%d{MM-dd HH:mm:ss}][%p][%logger{0}:%line] - %m%n</pattern>  </encoder>  </appender><!-- FileAppender简介:把日志添加到文件。FileAppender特殊子节点详解:file子节点:日志文件名,相对路径绝对路径均可,如果上级目录不存在会自动创建,没有默认值。 append子节点:如果是 true,日志被追加到文件结尾,如果是 false,清空现存文件,默认是true。--><appender name="logFile" class="ch.qos.logback.core.FileAppender">   <file>logFile.log</file><append>true</append>  <encoder>   <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>   </encoder>   </appender>   <!-- RollingFileAppender简介:先将日志记录到指定文件,当符合某个条件时,将日志数据迁移到其他文件。RollingFileAppender特殊子节点详解:triggeringPolicy子节点:定义日志滚动的触发条件。一般为时间触发或文件大小触发。rollingPolicy子节点:当触发条件满足时,决定如何滚动。涉及文件移动和重命名。--><appender name="rollingFileBaseTime" class="ch.qos.logback.core.rolling.RollingFileAppender">   <file>rollingFileBaseTime.log</file>  <append>true</append>  <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">   <fileNamePattern>logFile.%d{yyyy-MM-dd}.log</fileNamePattern>   <maxHistory>30</maxHistory>    </rollingPolicy>   <encoder>   <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>   </encoder>   </appender>   <appender name="rollingFileBaseSize" class="ch.qos.logback.core.rolling.RollingFileAppender">   <file>rollingFileBaseSize.log</file>  <append>true</append>  <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">   <fileNamePattern>logFile.%i.log</fileNamePattern>   <minIndex>1</minIndex>   <maxIndex>3</maxIndex>   </rollingPolicy>   <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">   <maxFileSize>5MB</maxFileSize>   </triggeringPolicy>   <encoder>   <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>   </encoder>   </appender>   <!-- logger简介:用来设置某个包或类的打印级别和appender。logger属性详解:name属性:用来指定受此logger约束的某一个包或者具体的某一个类。 level属性:设置打印级别,默认继承上级的级别。addtivity属性:是否向上级loger传递打印信息,默认是true。logger子节点详解:appender-ref子节点:可以包含多个,用于引用appender节点--><logger level="info" name="com.xxx.xxx">  <appender-ref ref="stdout" />  </logger>  <!-- root简介:也是一个logger节点,但它是根logger节点,只有一个level属性root属性详解:level属性:设置打印级别,默认继承上级的级别。root子节点详解:appender-ref子节点:可以包含多个,用于引用appender节点--><root level="info">  <appender-ref ref="stdout" />  </root>  </configuration>

最后,贴出 aubdiy 在文章  http://aub.iteye.com/blog/1103685 中,关于 pattern 的说明:

转载于:https://my.oschina.net/yxzkm/blog/1070067

SLF4J 之logback.xml配置文件实例及其说明相关推荐

  1. 黑马程序员-logback.xml配置文件

    <?xml version="1.0" encoding="UTF-8"?> <configuration><!--CONSOLE ...

  2. springboot集成logback日志 通用logback.xml模板详解

    先看Spring Boot中依赖的logback,log4j,slf4j相关Jar包 1.最简单的默认打印控制台日志  import org.slf4j.Logger; import org.slf4 ...

  3. logback.xml 常用配置详解

    一:根节点<configuration>包含的属性: scan: 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true. scanPeriod: 设置监测配置文 ...

  4. java日志之slf4j与logback简单使用

    最近在开发遇到日志是使用slf4j与logback.xml的配置,所以就记录下来了. 1.导入这几个jar包: Logback 分为三个模块:logback-core,logback-classic, ...

  5. logback logback.xml 常用配置详解

     一:根节点<configuration>包含的属性: scan: 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true. scanPeriod: 设置监测 ...

  6. 从源码来理解slf4j的绑定,以及logback对配置文件的加载

    1)https://www.cnblogs.com/youzhibing/p/6849843.html 编译期间,完成slf4j的绑定已经logback配置文件的加载.slf4j会在classpath ...

  7. logback配置文件---logback.xml详解

    一.参考文档 1.官方文档 http://logback.qos.ch/documentation.html 2.博客文档 http://www.cnblogs.com/warking/p/57103 ...

  8. [logback] 关于logback.xml加载非类路径配置文件 - 问题排查与解决

    前言 之前我的所有配置文件放在Resource目录下,现在我想移到dc_server目录读取配置文件,然后就: 自定义配置文件读取的坑-- 探索 项目启动后发布加载不到根目录下的配置文件,一直报这种错 ...

  9. Conmi的正确答案——SpringBoot+SLF4J日志持久化(采用ruoyi的logback.xml)

    JDK:1.8 SpringBoot:2.1.4 POM.xml需要的jar包 <dependency><groupId>org.slf4j</groupId>&l ...

最新文章

  1. cache.config配置文件解读
  2. verdi使用linux命令,verdi工具的使用
  3. AtCoder AGC005E Sugigma: The Showdown (博弈论)
  4. python 改变词典顺序_按词典顺序排列的功率集
  5. ASP.NET Web开发实用代码(一)
  6. USB3.0高清视频和音频采集处理芯片——MS2131
  7. 入手域名的渠道介绍!
  8. vue 路由跳转打开新窗口(被浏览器拦截)
  9. android 系统图标_9个非常实用的CSS图标库
  10. 《沈剑架构师训练营》第2章 - 接入层架构
  11. 人脸识别-Loss-2010:Softmax Loss(Softmax激活函数 + “交叉熵损失函数”)【样本3真实标签为c_5,则样本3的损失:loss_3=-log(\hat{y}_5^3)】
  12. Linux mmap
  13. php5 imap,LIV. IMAP, POP3 and NNTP Functions - PHP 5 中文文档
  14. 霍兰德职业规划测试软件,发现你的职业兴趣——霍兰德职业兴趣测试
  15. java编程思想----8,对象的容纳
  16. Pinterest 3.0 for iOS设计过程——升级iOS7设计思路详解
  17. 微信朋友圈数据库模式如何设计的?
  18. iphone的图书iBooks如何设置垂直滚动看书
  19. mysql 如何把date转换数字_请教:mysql中,如何将date字段转换为int字段?
  20. LTE(4G) - NR (5G) 手机发送能力(UE Capability)

热门文章

  1. 一、cocos2dx之如何优化内存使用(高级篇)
  2. 为分支机构和移动人员实施路由的导图
  3. Linux中逻辑卷相关知识简介
  4. 艾伟:FCKeditor 配置、扩展
  5. python-mysql超简单银行转账Model(我说了很简单的)
  6. php获取请求路径_如何获取php.ini文件路径?
  7. python history没有定义_python – AttributeError:’Tensor’对象没有属性’_keras_history’...
  8. 华为云桌面客户端_入冬第一场技术盛宴!DevRun开发者沙龙华为云武汉专场举办...
  9. ES6 之Reflect 与 Proxy概述
  10. 单片机和嵌入式哪个好?单片机会被嵌入式取代吗?