当前位置: 首页 > article >正文

Java日志配置

1.导入依赖

<dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.23.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-slf4j2-impl</artifactId>
            <version>2.23.1</version>
        </dependency>

2.创建log4j2.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <loggers>
        <!--
            level指定日志级别,从低到高的优先级:
                TRACE < DEBUG < INFO < WARN < ERROR < FATAL
                trace:追踪,是最低的日志级别,相当于追踪程序的执行
                debug:调试,一般在开发中,都将其设置为最低的日志级别
                info:信息,输出重要的信息,使用较多
                warn:警告,输出警告的信息
                error:错误,输出错误信息
                fatal:严重错误
        -->
        <root level="DEBUG">
            <appender-ref ref="spring6log"/>
            <appender-ref ref="RollingFile"/>
            <appender-ref ref="log"/>
        </root>
    </loggers>

    <appenders>
        <!--输出日志信息到控制台-->
        <console name="spring6log" target="SYSTEM_OUT">
            <!--控制日志输出的格式-->
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss SSS} [%t] %-3level %logger{1024} - %msg%n"/>
        </console>

        <!--文件会打印出所有信息,这个log每次运行程序会自动清空,由append属性决定,适合临时测试用-->
        <File name="log" fileName="E:/spring6_log/test.log" append="false">
            <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n"/>
        </File>

        <!-- 这个会打印出所有的信息,
            每次大小超过size,
            则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,
            作为存档-->
        <RollingFile name="RollingFile" fileName="E:/spring6_log/app.log"
                     filePattern="log/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz">
            <PatternLayout pattern="%d{yyyy-MM-dd 'at' HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n"/>
            <SizeBasedTriggeringPolicy size="50MB"/>
            <!-- DefaultRolloverStrategy属性如不设置,
            则默认为最多同一文件夹下7个文件,这里设置了20 -->
            <DefaultRolloverStrategy max="20"/>
        </RollingFile>
    </appenders>
</configuration>

 

3.测试

package com.pyb.test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
 * @version 1.0
 * @Author 彭彦彬
 * @Date 2025/1/17 11:41
 * @注释
 */
public class Test1 {
    public static void main(String[] args) {
        ApplicationContext applicationContext=new ClassPathXmlApplicationContext("Acount.xml");
    }
}

4.测试结果


http://www.kler.cn/a/509057.html

相关文章:

  • STL—stack与queue
  • 44.ComboBox的数据绑定 C#例子 WPF例子
  • 纯代码实现给WordPress添加文章复制功能
  • 测试工程师的linux 命令学习(持续更新中)
  • 【redis】redis-cli命令行工具的使用
  • 【算法】枚举
  • 蓝桥杯 连续奇数和问题解析
  • 支持向量机算法(三):非线性支持向量原理层层拆解,精读公式每一处细节
  • JavaScript 代码规范
  • MarsCode青训营打卡Day5(2025年1月18日)|稀土掘金-148.小A的子数组权值、304.计算特定条件下的四元组数量
  • 1.6 从 GPT-1 到 GPT-3.5:一路的风云变幻
  • 蓝桥杯算法日常|枚举[*找到最多的数]
  • ASP.NET Core 中的 JWT 鉴权实现
  • recat与vue相比有什么优缺点
  • Titans 架构中的记忆整合:Memory as a Context;Gated Memory;Memory as a Layer
  • 用 Rust 写下第一个 “Hello, World!”
  • 2024年AI与大数据技术趋势洞察:跨领域创新与社会变革
  • 【PyCharm】远程连接Linux服务器
  • 钉钉消息推送()
  • 数据结构——队列和栈(介绍、类型、Java手搓实现循环队列)
  • RV1126+FFMPEG推流项目(5)VI和VENC模块绑定,并且开启线程采集
  • 【Django开发】django美多商城项目完整开发4.0第12篇:商品部分,表结构【附代码文档】
  • 动手学大数据-1大数据体系介绍与 SQL 处理流程
  • 58,【8】BUUCTF [PwnThyBytes 2019]Baby_SQL1
  • Python 调整 Excel 中的行列顺序
  • 【漫话机器学习系列】053.梯度爆炸(Exploding Gradient Problem)