博客
关于我
Log4j.xml和Log4j2.xml的简单认识 - log4j2/log4j的区别
阅读量:804 次
发布时间:2023-02-06

本文共 1264 字,大约阅读时间需要 4 分钟。

有时在项目中导入log4j的jar包,并配置log4j.xml或者是log4j2.xml后,在代码中引入log4j的API,并不能成功地将日志写入控制台或文件中。这一问题可能出现在配置或依赖管理上。以下是经过实践验证的解决方案。

首先,需要了解log4j的日志级别体系。log4j支持多个日志级别,包括trace、debug、info、warn、error和fatal。这些级别之间具有包含关系,意味着如果将日志级别设置为trace,所有大于等于trace级别的日志都会被记录。

在实际项目中,建议采用以下配置方式:

使用log4j2.xml配置

  • 导入依赖:确保在项目中引入了log4j2的核心包log4j-core.2.1.jar和API包log4j-api.2.1.jar。这些依赖会自动引入必要的日志管理器类。

  • 创建日志配置文件:在log4j2.xml文件中进行配置。以下是一个示例配置:

    1. 使用正确的日志管理器类:在代码中使用org.apache.logging.log4j.LogManagerLogger类。确保使用以下导入:
    2. import org.apache.logging.log4j.LogManager;import org.apache.logging.log4j.Logger;
      1. 获取应用程序日志器:通过LogManager获取应用程序的日志器实例:
      2. protected static Logger logger = LogManager.getLogger(BaseTestPlan.class);

        通过以上配置和代码,日志将会被成功地写入控制台和指定的文件中。如果在启动时遇到类似下面的异常:

        2015-04-30 15:10:07,962 WARN Could not instantiate SimpleDateFormat with pattern YYYYMMddHHmmss java.lang.IllegalArgumentException: Illegal pattern character 'Y'

        可以将YYYYMMddHHmmss中的Y改为小写y,即yyyyMMddHHmmss进行尝试。

        通过以上方法,可以有效地解决log4j日志输出问题,确保日志能够正确地记录到控制台或文件中。

    转载地址:http://kdufk.baihongyu.com/

    你可能感兴趣的文章
    mysql中出现Unit mysql.service could not be found 的解决方法
    查看>>
    mysql中出现update-alternatives: 错误: 候选项路径 /etc/mysql/mysql.cnf 不存在 dpkg: 处理软件包 mysql-server-8.0的解决方法(全)
    查看>>
    Mysql中各类锁的机制图文详细解析(全)
    查看>>
    MySQL中地理位置数据扩展geometry的使用心得
    查看>>
    Mysql中存储引擎简介、修改、查询、选择
    查看>>
    Mysql中存储过程、存储函数、自定义函数、变量、流程控制语句、光标/游标、定义条件和处理程序的使用示例
    查看>>
    mysql中实现rownum,对结果进行排序
    查看>>
    mysql中对于数据库的基本操作
    查看>>
    Mysql中常用函数的使用示例
    查看>>
    MySql中怎样使用case-when实现判断查询结果返回
    查看>>
    Mysql中怎样使用update更新某列的数据减去指定值
    查看>>
    Mysql中怎样设置指定ip远程访问连接
    查看>>
    mysql中数据表的基本操作很难嘛,由这个实验来带你从头走一遍
    查看>>
    Mysql中文乱码问题完美解决方案
    查看>>
    mysql中的 +号 和 CONCAT(str1,str2,...)
    查看>>
    Mysql中的 IFNULL 函数的详解
    查看>>
    mysql中的collate关键字是什么意思?
    查看>>
    MySql中的concat()相关函数
    查看>>
    mysql中的concat函数,concat_ws函数,concat_group函数之间的区别
    查看>>
    MySQL中的count函数
    查看>>