logback之二:输出日志到控制台
和logack之一:输出日志到控制台 类似,改动的地方:
1. logback[-test].xml文件:
- <appender name="fileAppender" class="ch.qos.logback.core.FileAppender">
- <file>/logs/granularity.log</file>
- <encoder><!-- 必须指定,否则不会往文件输出内容 -->
- <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern>
- </encoder>
- <append>true</append>
- <prudent>false</prudent>
- </appender>
- <root level="DEBUG">
- <appender-ref ref="fileAppender" />
- </root>
调用测试类的方法,生成granularity.log文件。
附:
①. prudent:小心的,慎重的。如果设置为true,不同JVM的file appenders能够安全地将日志输出到同一个文件中。
这是通过锁定文件通道实现的:
- protected void writeOut(E event) throws IOException {
- if (prudent) {
- safeWrite(event);
- } else {
- super.writeOut(event);
- }
- }
- private void safeWrite(E event) throws IOException {
- ResilientFileOutputStream resilientFOS = (ResilientFileOutputStream) getOutputStream();
- FileChannel fileChannel = resilientFOS.getChannel();
- if (fileChannel == null) {
- return;
- }
- FileLock fileLock = null;
- try {
- fileLock = fileChannel.lock(); // 加锁
- long position = fileChannel.position();
- long size = fileChannel.size();
- if (size != position) {
- fileChannel.position(size);
- }
- super.writeOut(event);
- } finally {
- if (fileLock != null) {
- fileLock.release(); // 释放锁
- }
- }
- }
②. 当prudent为true时,如果append设置为false,会被强行转成true。
这是在start方法中处理的:
- if (prudent) {
- if (!isAppend()) {
- setAppend(true);
- addWarn("Setting \"Append\" property to true on account of \"Prudent\" mode");
- }
- }
logback之二:输出日志到控制台相关推荐
- logback之三:输出日志到文件(滚动)
实际生产中,每天都有大量的日志生成,单个文件(FileAppender)已经不能满足要求,RollingFileAppender继承了FileAppender,并提供了更多的功能: 每天生成一个日志文 ...
- logback系列之二:输出日志到文件
2019独角兽企业重金招聘Python工程师标准>>> 和 logback系列之一:输出日志到控制台 类似,改动的地方: 1. logback[-test].xml文件: Java代 ...
- logback日志配置(控制台日志、输出日志、错误日志)
logback日志配置(控制台日志.输出日志.错误日志) 一.logback.xml相关配置: <?xml version="1.0" encoding="UTF- ...
- logback异步输出日志详解
前言 logback应该是目前最流行的日志打印框架了,毕竟Spring Boot中默认的集成的日志框架也是logback.在实际项目开发过程中,常常会遇到由于打印大量日志而导致程序并发降低,QPS降低 ...
- spring boot:从零开始搭建一个项目 - day 4 控制台输出日志美化 + swagger2
spring boot:从零开始搭建一个项目 - day 4 控制台输出日志美化 + swagger2 一.logback.xml配置日志美化 二.集成swagger2 1.引入依赖 2.编写配置文件 ...
- Spring Boot 使用 Log4j2 Logback 输出日志到 EKL
文章目录 1.ELK 介绍 2.环境.软件准备 3.ELK 环境搭建 4.Spring Boot 配置示例 4.1.Log4j2 方式配置 4.2.Logback 方式配置 1.ELK 介绍 ELK ...
- logback系列之四:输出日志到不同文件
实际生产中,每天都有大量的日志生成,单个文件(FileAppender)已经不能满足要求,RollingFileAppender继承了FileAppender,并提供了更多的功能: 每天生成一个日志文 ...
- Java学习笔记(二十三)日志体系(logback)
Java日志体系(logback) logback 简介 师出同门,与log4j一样,logback也是由Ceki Gülcü开发的开源日志组件,可以说是log4j的改进版:在现如今的项目中,logb ...
- 升级到log4j2之后在idea控制台输出日志中文乱码的解决方案
log4j升级到log4j2之后在idea编辑器的控制台输出日志中文乱码 问题概述: 项目组最近升级了日志系统,由log4j升级到了log4j2,在调试的过程中发现我用的idea编辑器的控制台输出中文 ...
最新文章
- Pandas批量删除dataframe列名中的后缀实战:使用rstrip函数批量删除列名中的后缀(suffix)、使用replace函数批量删除列名中的后缀(suffix)
- graylog2安装
- java gui 颜色从html_Java GUI显示网页并返回HTML
- 知识图谱( 知识图谱管理)
- 双端队列【deque】的常见用法
- 北风设计模式课程---13、享元模式
- 用.NET进行客户端Web开发?看这个Bootstrap风格的BlazorUI组件库
- centos8服务器创建新用户并指定该用户只能打开某个目录文件
- xml转换为json格式时,如何将指定节点转换成数组 Json.NET
- 华为又有大动作!继鸿蒙之后,即将发布全新操作系统OpenEuler欧拉
- Android与物联网设备通信-自定义报文与字节序
- oracle在线视频教程,Oracle性能优化视频教程 - Oracle - 数据库 - 私塾在线 - 只做精品视频课程服务...
- 递归下降分析法java_Atitit 表达式原理 语法分析 原理与实践 解析java的dsl 递归下降是现阶段主流的语法分析方法...
- 自动驾驶工程师的进阶之路
- springcloud微服务中跨域配置
- DDR 6 内存已经投入研发
- 【踩坑实录】Mission planner+Ardupilot飞控固件配置教程
- Python数据分析入门书籍推荐!
- java大文件上传解决方案
- 为何优秀的程序员不断离开?,中高级Java面试中你不得不会的知识点