和logack之一:输出日志到控制台 类似,改动的地方:

1. logback[-test].xml文件:

Java代码  
  1. <appender name="fileAppender" class="ch.qos.logback.core.FileAppender">
  2. <file>/logs/granularity.log</file>
  3. <encoder><!-- 必须指定,否则不会往文件输出内容 -->
  4. <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern>
  5. </encoder>
  6. <append>true</append>
  7. <prudent>false</prudent>
  8. </appender>
  9. <root level="DEBUG">
  10. <appender-ref ref="fileAppender" />
  11. </root>

调用测试类的方法,生成granularity.log文件。

附: 
①. prudent:小心的,慎重的。如果设置为true,不同JVM的file appenders能够安全地将日志输出到同一个文件中。 
    这是通过锁定文件通道实现的:

Java代码  
  1. protected void writeOut(E event) throws IOException {
  2. if (prudent) {
  3. safeWrite(event);
  4. } else {
  5. super.writeOut(event);
  6. }
  7. }
  8. private void safeWrite(E event) throws IOException {
  9. ResilientFileOutputStream resilientFOS = (ResilientFileOutputStream) getOutputStream();
  10. FileChannel fileChannel = resilientFOS.getChannel();
  11. if (fileChannel == null) {
  12. return;
  13. }
  14. FileLock fileLock = null;
  15. try {
  16. fileLock = fileChannel.lock(); // 加锁
  17. long position = fileChannel.position();
  18. long size = fileChannel.size();
  19. if (size != position) {
  20. fileChannel.position(size);
  21. }
  22. super.writeOut(event);
  23. } finally {
  24. if (fileLock != null) {
  25. fileLock.release(); // 释放锁
  26. }
  27. }
  28. }

②. 当prudent为true时,如果append设置为false,会被强行转成true。 
    这是在start方法中处理的:

Java代码  
  1. if (prudent) {
  2. if (!isAppend()) {
  3. setAppend(true);
  4. addWarn("Setting \"Append\" property to true on account of \"Prudent\" mode");
  5. }
  6. }
转载地址:http://czj4451.iteye.com/blog/1975220

logback之二:输出日志到控制台相关推荐

  1. logback之三:输出日志到文件(滚动)

    实际生产中,每天都有大量的日志生成,单个文件(FileAppender)已经不能满足要求,RollingFileAppender继承了FileAppender,并提供了更多的功能: 每天生成一个日志文 ...

  2. logback系列之二:输出日志到文件

    2019独角兽企业重金招聘Python工程师标准>>> 和 logback系列之一:输出日志到控制台 类似,改动的地方: 1. logback[-test].xml文件: Java代 ...

  3. logback日志配置(控制台日志、输出日志、错误日志)

    logback日志配置(控制台日志.输出日志.错误日志) 一.logback.xml相关配置: <?xml version="1.0" encoding="UTF- ...

  4. logback异步输出日志详解

    前言 logback应该是目前最流行的日志打印框架了,毕竟Spring Boot中默认的集成的日志框架也是logback.在实际项目开发过程中,常常会遇到由于打印大量日志而导致程序并发降低,QPS降低 ...

  5. spring boot:从零开始搭建一个项目 - day 4 控制台输出日志美化 + swagger2

    spring boot:从零开始搭建一个项目 - day 4 控制台输出日志美化 + swagger2 一.logback.xml配置日志美化 二.集成swagger2 1.引入依赖 2.编写配置文件 ...

  6. Spring Boot 使用 Log4j2 Logback 输出日志到 EKL

    文章目录 1.ELK 介绍 2.环境.软件准备 3.ELK 环境搭建 4.Spring Boot 配置示例 4.1.Log4j2 方式配置 4.2.Logback 方式配置 1.ELK 介绍 ELK ...

  7. logback系列之四:输出日志到不同文件

    实际生产中,每天都有大量的日志生成,单个文件(FileAppender)已经不能满足要求,RollingFileAppender继承了FileAppender,并提供了更多的功能: 每天生成一个日志文 ...

  8. Java学习笔记(二十三)日志体系(logback)

    Java日志体系(logback) logback 简介 师出同门,与log4j一样,logback也是由Ceki Gülcü开发的开源日志组件,可以说是log4j的改进版:在现如今的项目中,logb ...

  9. 升级到log4j2之后在idea控制台输出日志中文乱码的解决方案

    log4j升级到log4j2之后在idea编辑器的控制台输出日志中文乱码 问题概述: 项目组最近升级了日志系统,由log4j升级到了log4j2,在调试的过程中发现我用的idea编辑器的控制台输出中文 ...

最新文章

  1. Pandas批量删除dataframe列名中的后缀实战:使用rstrip函数批量删除列名中的后缀(suffix)、使用replace函数批量删除列名中的后缀(suffix)
  2. graylog2安装
  3. java gui 颜色从html_Java GUI显示网页并返回HTML
  4. 知识图谱( 知识图谱管理)
  5. 双端队列【deque】的常见用法
  6. 北风设计模式课程---13、享元模式
  7. 用.NET进行客户端Web开发?看这个Bootstrap风格的BlazorUI组件库
  8. centos8服务器创建新用户并指定该用户只能打开某个目录文件
  9. xml转换为json格式时,如何将指定节点转换成数组 Json.NET
  10. 华为又有大动作!继鸿蒙之后,即将发布全新操作系统OpenEuler欧拉
  11. Android与物联网设备通信-自定义报文与字节序
  12. oracle在线视频教程,Oracle性能优化视频教程 - Oracle - 数据库 - 私塾在线 - 只做精品视频课程服务...
  13. 递归下降分析法java_Atitit 表达式原理 语法分析 原理与实践 解析java的dsl  递归下降是现阶段主流的语法分析方法...
  14. 自动驾驶工程师的进阶之路
  15. springcloud微服务中跨域配置
  16. DDR 6 内存已经投入研发
  17. 【踩坑实录】Mission planner+Ardupilot飞控固件配置教程
  18. Python数据分析入门书籍推荐!
  19. java大文件上传解决方案
  20. 为何优秀的程序员不断离开?,中高级Java面试中你不得不会的知识点

热门文章

  1. 外汇交易中正确的策略是什么标准呢?ForexClub相信要做到这5点
  2. ArcGIS Pro 加载项(5)——以“亩”为单位统计地块面积
  3. 思维工具1: SCAMPER
  4. 股票价格指数(价格加权、市值加权、价值加权)
  5. 手把手教你:基于TensorFlow的语音识别系统
  6. 高考数学有得用计算机吗,高中数学为什么不让用计算器?
  7. mysql 日程设计_客服-电销日程表 - 数据库设计 - 数据库表结构 - 果创云
  8. 程序员的蜕变之旅-健身
  9. 数字IC设计工程师笔试面试经典100题
  10. 微信小程序项目实例——二维码生成器