DocumentDB 创建索引

news/2024/10/11 1:32:44

为了将日志输出从 IDEA 的 Console 重定向到文件,你可以使用 Logback 作为日志框架,并通过配置文件来实现这一功能。下面是一个示例 logback.xml 配置文件,它会将日志同时输出到 Console文件 中。

logback.xml 配置文件示例

<?xml version="1.0" encoding="UTF-8"?>
<configuration><!-- 控制日志文件保存路径和文件名 --><property name="LOG_FILE" value="logs/app.log" /><property name="ERROR_LOG_FILE" value="logs/error.log" /><!-- 控制台输出配置 --><appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern></encoder></appender><!-- 普通日志文件输出配置 --><appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><!-- 日志文件路径 --><file>${LOG_FILE}</file><!-- 文件滚动策略(按照文件大小滚动) --><rollingPolicy class="ch.qos.logback.core.rolling.SizeBasedRollingPolicy"><fileNamePattern>logs/app.%i.log</fileNamePattern><!-- 文件最大尺寸,达到 10MB 后创建新文件 --><maxFileSize>10MB</maxFileSize><!-- 保留的最大历史日志文件数量 --><maxHistory>5</maxHistory></rollingPolicy><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern></encoder></appender><!-- 错误日志单独记录 --><appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${ERROR_LOG_FILE}</file><rollingPolicy class="ch.qos.logback.core.rolling.SizeBasedRollingPolicy"><fileNamePattern>logs/error.%i.log</fileNamePattern><maxFileSize>10MB</maxFileSize><maxHistory>5</maxHistory></rollingPolicy><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern></encoder><!-- 只记录 ERROR 级别的日志 --><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>ERROR</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter></appender><!-- Root logger 配置:输出到控制台和文件 --><root level="INFO"><appender-ref ref="STDOUT" /><appender-ref ref="FILE" /><appender-ref ref="ERROR_FILE" /></root></configuration>

配置说明:

  1. Console 输出:使用 ConsoleAppender,将日志输出到 IDEA 的 Console 中。

  2. 日志文件输出:使用 RollingFileAppender,日志输出到指定的文件中,同时设定了滚动策略(即文件达到一定大小后创建新文件)。

    • LOG_FILE 是存储普通日志的文件路径(如 logs/app.log)。
    • ERROR_LOG_FILE 是存储错误级别日志的文件路径(如 logs/error.log)。
    • 滚动策略使用 SizeBasedRollingPolicy,当日志文件大小超过 10MB 时会滚动创建新的日志文件,并保留最近的 5 个日志文件。
  3. 日志格式:日志格式化器 PatternLayout 使用如下格式输出:

    • %d{yyyy-MM-dd HH:mm:ss}:日期时间
    • %thread:线程名称
    • %level:日志级别(INFO、ERROR 等)
    • %logger{36}:日志记录器的名称
    • %msg:日志消息
    • %n:换行符
  4. 日志级别root 记录器设置为 INFO 级别,输出到控制台和文件。如果想调试,可以将 level="INFO" 改成 DEBUG 以输出更多信息。

logback.xml 文件集成到项目中:

  1. 在你的 src/main/resources 目录下创建一个文件夹,命名为 resources,并将此配置文件命名为 logback.xml,放置到 src/main/resources 目录下。

  2. 确保你的 pom.xml 或者 build.gradle 文件中引入了 Logback 依赖。如果没有的话,添加以下依赖。

Maven 依赖:

<dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.2.3</version> <!-- 替换为最新版本 -->
</dependency>

Gradle 依赖:

implementation 'ch.qos.logback:logback-classic:1.2.3'  // 替换为最新版本

如何验证:

  • 运行程序后,日志将同时输出到 IDEA 的控制台和指定的文件。
  • 普通日志记录在 logs/app.log 中,错误级别日志单独记录在 logs/error.log 中。

通过这个 logback.xml 配置文件,你可以让程序运行时的日志记录到指定的文件,并且同时控制日志输出的格式、滚动策略、日志级别等。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

20222404 2024-2025-1 《网络与系统攻防技术》实验一实验报告

姓名:张嘉月 学号:20222404 实验日期:2024/09/29 — 2024/10/09 实验名称:缓冲区溢出和shellcode 指导教师:王志强 一、实验内容任务一:手工修改可执行文件,改变程序执行流程,直接跳转到getShell函数。 任务二:利用foo函数的Bof漏洞,构造一个攻击输入字符串,覆盖返回…

实验 2

task 11 #include <stdio.h>2 #include <stdlib.h>3 #include <time.h>4 #define N 55 #define N1 3976 #define N2 4767 #define N3 218 int main() {9 int cnt; 10 int random_major, random_no; 11 srand(time(NULL)); // 以当前系统时间作为随机种子 12 …

目前get到最好用的内网穿透软件

官网:https://www.natfrp.com/ 软件名称:SakuraLauncher 不花钱可以获取到两个隧道,如果不想花钱的话,每天签到领流量即可 之前用过cpolar,飞鸽,ngrok,但是我目前觉得这个还是最好用的 不过这款内网穿透需要下载安装包,安装到本地 如果有免费且更好的内网穿透欢迎留言讨…

爆肝 300 小时,我做了个全栈前端一站式学习平台!

在过去的两个月里,我几乎将每个下班后的时间都投入到了自己的新项目 『 前端视界 』 中。这段时间,我熬了60多个大夜,加班加点,终于将它上线了! 『 前端视界 』 是我倾注心血打造的一个全栈前端一站式学习平台。我的初衷很简单:我希望它不仅成为前端开发者的首选资源导航…

OpenDiary 24.10

写日寄,写日寄 奋斗!写日寄,写日寄 奋斗!10.10最近尝试听一点 synthwave国庆结束的第三天 今天只有一节课,还是晚课。早十九,爽 上午起来突发奇想,想搓一个小猿口算脚本试试。试图整个模拟器网络桥接,charles抓包,但是发现很困难,不懂计网玩不转 然后又尝试退而求其次…

Serilog文档翻译系列(八) - 记录器的生命周期、可靠性

Serilog日志记录器使用简便,但需注意接收器资源管理和异常处理。全局Log类简化配置,而ForContext()增强日志功能。异常时Serilog捕获并写入SelfLog,接收器使用PeriodicBatchingSink架构缓存日志事件,失败时重试,保护系统稳定。01、记录器的生命周期 Serilog 大多数情况下“…

STC8H 相较与STC15 STC8A/G 编程的注意点

主要的不同点 IO 口:默认为高阻输入态,和原来默认的双向IO不同,需要注意初始化配置。 复位引脚:STC8H 复位引脚低电平时为复位状态,与STC15、STC8A、STC8G等单片机不同。 ADC(单独相较于STC15):新增加了两个寄存器 ADC_CFG,ADC_TIM. 原来STC15 ADC的配置寄存器 ADC_CON…