java实现日志按天打印

在这里插入图片描述

<?xml version="1.0" encoding="UTF-8"?>
<configuration><!-- 应用名称:和统一配置中的项目代码保持一致(小写) --><property name="APP_NAME" value="mita-main"/><!--日志文件保留天数--><property name="LOG_MAX_HISTORY" value="15"/><!--应用日志文件保存路径--><property name="LOG_APP_HOME" value="/usr/local/logs/mita-log/${APP_NAME}"/><!-- 日志输出格式 --><property name="LOG_PATTERN"value="%d{yyyy-MM-dd HH:mm:ss.SSS} - [${APP_NAME}] -[%thread] - [%-5level] - [%logger{50}] - [%method,%line] - [%X{TRACE_ID}] - %msg%n"/><springProperty scope="context" name="appName" source="spring.application.names" defaultValue="mita-main"/><springProperty scope="context" name="infoLogPath" source="spring.application.names"defaultValue="${LOG_APP_HOME}/mita-info.%d{yyyy-MM-dd}.log"/><springProperty scope="context" name="errorLogPath" source="spring.application.names"defaultValue="${LOG_APP_HOME}/mita-error.%d{yyyy-MM-dd}.log"/><conversionRule conversionWord="stack"converterClass="net.logstash.logback.stacktrace.ShortenedThrowableConverter"/><!-- 控制台输出 --><appender name="console" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>${LOG_PATTERN}</pattern></encoder></appender><!-- 系统日志输出 --><appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender"><!-- 循环政策:基于时间创建日志文件 --><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!-- 日志文件名格式 --><FileNamePattern>${LOG_APP_HOME}/basedata-info.%d{yyyy-MM-dd}.log</FileNamePattern><!-- 日志最大的历史 60--><maxHistory>${LOG_MAX_HISTORY}</maxHistory></rollingPolicy><encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder"><providers><timestamp><timeZone>Asia/Shanghai</timeZone></timestamp><pattern><pattern>{"time": "%d{yyyy-MM-dd HH:mm:ss.SSS}","appName": "${appName}","hostName": "${hostname}","level": "%level","thread": "%thread","requestId": "%X{TRACE_ID}","logger": "%logger","logPath":"${infoLogPath}","method": "%method","line": "%line","message": "%message"}</pattern></pattern></providers></encoder><filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 过滤的级别 --><level>INFO</level><!-- 匹配时的操作:接收(记录) --><onMatch>ACCEPT</onMatch><!-- 不匹配时的操作:拒绝(不记录) --><onMismatch>DENY</onMismatch></filter></appender><appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender"><!-- 循环政策:基于时间创建日志文件 --><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!-- 日志文件名格式 --><fileNamePattern>${LOG_APP_HOME}/basedata-error.%d{yyyy-MM-dd}.log</fileNamePattern><!-- 日志最大的历史 60--><maxHistory>${LOG_MAX_HISTORY}</maxHistory></rollingPolicy><encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder"><providers><timestamp><timeZone>Asia/Shanghai</timeZone></timestamp><pattern><pattern>{"time": "%d{yyyy-MM-dd HH:mm:ss.SSS}","appName": "${appName}","hostName": "${hostname}","level": "%level","thread": "%thread","requestId":"%X{TRACE_ID}","logger":"%logger","logPath":"${errorLogPath}","method":"%method","line": "%line","message": "%message","exception":"%stack"}</pattern></pattern></providers></encoder><filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 过滤的级别 --><level>ERROR</level><!-- 匹配时的操作:接收(记录) --><onMatch>ACCEPT</onMatch><!-- 不匹配时的操作:拒绝(不记录) --><onMismatch>DENY</onMismatch></filter></appender><!--业务info日志--><appender name="business-info" class="ch.qos.logback.core.rolling.RollingFileAppender"><append>true</append><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>INFO</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><fileNamePattern>${LOG_APP_HOME}/${hostname}/jp-basedata-info.%d{yyyy-MM-dd}.log</fileNamePattern><maxHistory>12</maxHistory></rollingPolicy><encoder charset="UTF-8"><pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] %level [%thread] %file:%line - %msg%n</pattern><charset>UTF-8</charset></encoder><encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder"><providers><timestamp><timeZone>Asia/Shanghai</timeZone></timestamp><pattern><pattern>{"time": "%d{yyyy-MM-dd HH:mm:ss.SSS}","level": "%level","appName": "${appName}","hostName": "${hostname}","thread": "%thread","requestId": "%X{TRACE_ID}","logPath":"${infoLogPath}","method": "%method","line": "%line","message": "%message"}</pattern></pattern></providers></encoder></appender><!--业务error日志--><appender name="business-error" class="ch.qos.logback.core.rolling.RollingFileAppender"><append>true</append><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>ERROR</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><fileNamePattern>${LOG_APP_HOME}/jp-basedata-error.%d{yyyy-MM-dd}.log</fileNamePattern><maxHistory>12</maxHistory></rollingPolicy><encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder"><providers><timestamp><timeZone>Asia/Shanghai</timeZone></timestamp><pattern><pattern>{"time": "%d{yyyy-MM-dd HH:mm:ss.SSS}","level": "%level","appName": "${appName}","hostName": "${hostname}","thread": "%thread","requestId":"%X{TRACE_ID}","logPath":"${errorLogPath}","method":"%method","line": "%line","message": "%message","exception":"%stack"}</pattern></pattern></providers></encoder></appender><!-- 系统模块日志级别控制  --><logger name="com.mita.mita" level="info"/><!-- Spring日志级别控制  --><logger name="org.springframework" level="warn"/><root level="info"><appender-ref ref="console"/></root><!--系统操作日志--><root level="info"><appender-ref ref="file_info"/><appender-ref ref="file_error"/></root><logger name="basedata-business" additivity="false" level="INFO"><appender-ref ref="business-info"/><appender-ref ref="business-error"/></logger>
</configuration>

> 详细解释

全局配置:

APP_NAME:应用名称。 LOG_MAX_HISTORY:日志文件保留天数。 LOG_APP_HOME:日志文件保存路径。
LOG_PATTERN:日志输出格式。

控制台输出:

配置了控制台日志输出格式,使用${LOG_PATTERN}。

系统日志输出:

INFO级别:配置了INFO级别的日志文件输出,包括日志文件名格式、最大历史天数和JSON格式的编码器。
ERROR级别:配置了ERROR级别的日志文件输出,包括日志文件名格式、最大历史天数和JSON格式的编码器。

业务日志输出:

INFO级别:配置了INFO级别的业务日志文件输出,包括日志文件名格式、最大历史天数和JSON格式的编码器。
ERROR级别:配置了ERROR级别的业务日志文件输出,包括日志文件名格式、最大历史天数和JSON格式的编码器。

日志级别控制:

配置了系统模块和Spring框架的日志级别。 配置了根日志级别为INFO,并指定了控制台和文件输出的appender。

业务日志:

配置了业务日志的独立输出,包括INFO和ERROR级别的日志文件输出。

以下就是按天打印的案例:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/57630.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

京准电钟解读:NTP网络对时服务器助力厂区改造方案

京准电钟解读&#xff1a;NTP网络对时服务器助力厂区改造方案 京准电钟解读&#xff1a;NTP网络对时服务器助力厂区改造方案 1&#xff09;系统概述 时钟系统可通过网络进行管理及时间校对&#xff0c;为厂区提供高精度、全天时、全天候 的授时服务&#xff0c;统一全厂各种系统…

vue中使用 html2canvas绘制图片并下载

html2canvas 是一个非常流行的库&#xff0c;可以将 HTML 元素转换为 canvas 图像。 1. 安装 html2canvas 首先&#xff0c;你需要安装 html2canvas 库。你可以使用 npm 或 yarn 来安装&#xff1a; npm install html2canvas yarn add html2canvas 2. 在 Vue 组件中使用 h…

AudioSetCaps数据集:包含190万对来自AudioSet录音的音频-字幕对。

2024-10-21&#xff0c;由西北工业大学、西安联丰声学技术有限公司、南洋理工大学、萨里大学和中国科学院声学研究所创建了AudioSetCaps数据集&#xff0c;包含190万对来自AudioSet录音的音频-字幕对。这个数据集在音频-文本检索和自动音频字幕两项下游任务上展现了卓越的性能&…

百度翻译以及另外三款翻译工具推荐!!!

在这个全球化的时代&#xff0c;翻译工具已经成为我们生活中不可或缺的一部分。我们需要使用翻译工具来克服语言障碍&#xff0c;无论是出国旅行、商务谈判还是学术研究。那么&#xff0c;市场上有各种各样的翻译工具。有哪些好用的在线翻译软件呢&#xff1f;别担心&#xff0…

系统架构设计师教程 第2章 2.1-2计算机系统及硬件 笔记

2.1计算机系统概述 ★☆☆☆☆ 计算机系统 (Computer System) 是指用于数据管理的计算机硬件、软件及网络组成的系统。 一般指由硬件子系统和软件子系统组成的系统&#xff0c;简称为计算机。 将连接多个计算机以实现计算机间数据交换能力的网络设备&#xff0c;称为计算机网…

uniapp基础笔记

与html区别 uni-app简单来说是 vue的语法 小程序的api。 文件结构 html <!DOCTYPE html> <html><head><meta charset"utf-8" /><title></title><script type"text/javascript"></script><style t…

springboot配置文件占位符${},赋值方式

一&#xff1a;配置文件内部赋值 server:port: 48080 url: http://127.0.0.1:${server.port}这时url中的${server.port}48080 二&#xff1a;系统环境变量 有时我们在看到配置文件怎么没有找到占位符的变量的设置了&#xff0c;那就有可能调用了&#xff0c;系统的环境变量 …

解决 PHP 上传数据超时 504 错误:

解决 PHP 上传数据超时 504 错误&#xff1a; 一、了解问题 1.1 什么是 PHP 上传数据超时 504 错误&#xff1f; 当我们使用 PHP 进行文件上传时&#xff0c;如果上传的文件较大&#xff0c;可能会遇到数据超时错误。超时错误通常被服务器和网关使用&#xff0c;表示网络请求…

15_LVM的磁盘管理

系列文章导航&#xff1a;01_Linux基础操作CentOS7学习笔记-CSDN博客 文章目录 一、LVM的核心概念二、LVM的工作原理三、LVM逻辑卷的创建及使用创建LVM逻辑卷删除逻辑卷 四、LVM逻辑卷的拉伸与缩减拉伸一个逻辑卷拉伸一个卷组缩小一个逻辑卷缩小卷组 五、LVM逻辑卷快照备份与还…

LabVIEW提高开发效率技巧----节省内存

在LabVIEW开发过程中&#xff0c;内存管理是保障程序稳定性和性能的关键。本文将详细介绍如何通过队列处理来节省内存&#xff0c;尤其是如何通过解耦释放不再需要的数据&#xff0c;防止内存泄漏。通过多个实际例子&#xff0c;从不同角度探讨队列处理在大数据量或长时间运行的…

HTB:CozyHosting[WriteUP]

目录 连接至HTB服务器并启动靶机 1.How many TCP ports are open on CozyHosting? 2.The webserver on TCP port 80 issues a redirect to what domain? 3.What relative path on the webserver returns a 500 error? 4.What is the Java web framework used in the we…

初识算法 · 二分查找(4)

目录 前言&#xff1a; 寻找峰值 题目解析 算法原理 算法编写 寻找旋转排序数组中的最小值 题目解析 算法原理 算法编写 寻找缺失的数字 题目解析 算法原理 算法编写 前言&#xff1a; ​本文的主题是二分查找&#xff0c;通过三道题目讲解&#xff0c;一道是寻找…

【Web开发】什么是Nuxt? 利用Nuxt快速搭建前端项目

Nuxt官网&#xff1a;https://nuxt.com/ 启动一个Nuxt项目 在vscode的项目文件终端运行以下命令&#xff1a; npx nuxilatest init <my-app>npm installnpm run dev然后就启动了一个Nuxt项目 安装Nuxt UI Nuxt UI官网&#xff1a;https://ui.nuxt.com/ npx nuxilates…

线程的同步

目录 引入 认识条件变量 快速认识接口​编辑 认识条件变量​编辑 测试代码​编辑 生产消费模型 为何要使用生产者消费者模型 理解 编写生产消费模型 BlockingQueue 单生产单消费 多生产多消费 引入 同步&#xff1a;在保证数据安全的前提下&#xff0c;让线程…

【小白学机器学习22】 多变量分析,多变量回归(草稿)

目录 1 概念名词&#xff1a; 1.1 双变量分析与单因素分析 1.2 变化 1.3 相关分析 Correlation analysis 1.4 回归分析 Regression analysis 1.5 相干和相关 1.5.1 相干relevant 1.5.2 相关Correlation 2 双变量分析&#xff0c;也就是单因素分析 3 相关分析 4 正…

The database mes could not be exclusively locked to perform the operation.

当你尝试更改数据库名字时&#xff0c;如果遇到错误消息 "The database [database_name] could not be exclusively locked to perform the operation"&#xff0c;这意味着 SQL Server 无法获得对数据库的独占锁&#xff0c;因为该数据库当前正在被其他会话使用。这…

Hugging Face HUGS 加快了基于开放模型的AI应用的开发

在过去一年左右的时间里&#xff0c;开源人工智能模型在性能上已经明显赶上了 OpenAI、Google 和其他公司的流行闭源模型。 然而&#xff0c;由于在不同硬件上部署和维护这些模型所带来的开销&#xff0c;开发人员尚未广泛采用这些模型。为了解决这个问题&#xff0c;Hugging F…

驱动开发系列26 - Linux Graphics 调试 mesa 的 glDrawArrays (二)

目录 一:概述 二:Gallium3D 的工作流程 三:tc_draw_vbo 与 tc_call_draw_single 的关系: 四:tc_draw_vbo 与 tc_call_draw_single 的具体执行流程: 五:mesa中线程池设计介绍: 六:总结: 一:概述 众所周知,Mesa 的 Gallium3D 是一个图形驱动框架,它将图形管线…

【Unity】Unity中文本中插入超链接且可点击响应,TextMeshPro的进阶用法

一、需求和尝试 今天遇到这样一个需求&#xff1a;在文本中插入超链接&#xff0c;且这个链接可以点击跳转对应的url&#xff0c;具体形式如下图所示。 其实这个有一个简单粗暴的方法&#xff0c;就是把需要加超链接的文本单独拿出来&#xff0c;和其他文本进行拼接&#xf…

修改huggingface的缓存目录以及镜像源

执行以下语句查看当前配置 huggingface-cli env默认输出应该如下 (py39-transformers) PS D:\py_project\transformers_demo> huggingface-cli envCopy-and-paste the text below in your GitHub issue.- huggingface_hub version: 0.26.1 - Platform: Windows-10-10.0.22…