log4j的使用和log4j过时问题的解决

1.添加依赖

在pom.xml文件中的<dependencies>下添加log4j依赖:

<!--log4j 依赖--><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.5</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.12</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency>

2.添加log4j.properties

在resources目录下添加log4j的配置文件, 内容如下:

#---- global logging configuration
#---- level: FATAL,ERROR,WARN,INFO,DEBUG
#---- appender: console, file, mail
### set log levels ###
log4j.rootLogger = DEBUG,console### 输出到控制台 ###
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.Target = System.out
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern =  %d{ABSOLUTE} %5p %c{1}:%L - %m%n### 输出到日志文件 ###
log4j.appender.file = org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File = ${uplat.root}/WEB-INF/logs/platform.log
log4j.appender.file.DatePattern=_yyyyMMdd'.log'
#log4j.appender.file.Append = true
#log4j.appender.file.Threshold = INFO
log4j.appender.file.layout = org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern =%-d{yyyy-MM-dd HH\:mm\:ss}  [ %t\:%r ] - [ %p ]  %m%n### 打印SQL ###
#log4j.logger.com.ibatis=DEBUG
#log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
#log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG
#log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
#log4j.logger.java.sql.ResultSet=DEBUG

3.指定log4j配置文件和监听器

在web.xml中指定log4j的配置文件,并添加监听器

<!-- 指定监听器加载的log4j配置文件 --><context-param><param-name>log4j</param-name><param-value>classpath:log4j.properties</param-value></context-param><listener><listener-class>org.springframework.web.util.Log4jConfigListener</listener-class></listener>

支持原创-来自CSDN作者:[wei542657623](https://blog.csdn.net/wei542657623)


log4j2的使用

但在我们使用的时候会遇到这样的问题:

spring建议使用log4j2来替换这个类.

Deprecated.
as of Spring 4.2.1, in favor of Apache Log4j 2 (following Apache's EOL declaration for log4j 1.x)@Deprecated
public class Log4jConfigListener
extends java.lang.Object
implements ServletContextListener

1.引入log4j2的依赖jar包

     <dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-api</artifactId><version>2.10.0</version></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId><version>2.10.0</version></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-web</artifactId><version>2.9.1</version></dependency>

2.web.xml中的配置

     <dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-api</artifactId><version>2.10.0</version></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId><version>2.10.0</version></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-web</artifactId><version>2.9.1</version></dependency>

3.resources目录下新增log4j2.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="OFF" monitorInterval="1800"><properties><property name="LOG_HOME">/WEB-INF/logs</property><property name="FILE_NAME">finance-pay</property></properties><Appenders><Console name="Console" target="SYSTEM_OUT"><PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" /></Console><RollingFile name="running-log" fileName="${LOG_HOME}/${FILE_NAME}.log"filePattern="${LOG_HOME}/$${date:yyyy-MM}/${FILE_NAME}-%d{yyyy-MM-dd}-%i.log.gz"immediateFlush="true"><PatternLayout
                pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} %level [%thread][%file:%line] - %msg%n" /><Policies><TimeBasedTriggeringPolicy /><SizeBasedTriggeringPolicy size="10 MB" /></Policies><DefaultRolloverStrategy max="20" /></RollingFile></Appenders><Loggers><Root level="info"><!-- 这里是输入到文件,很重要--><AppenderRef ref="running-log" /><!-- 这里是输入到控制台--><AppenderRef ref="Console" /></Root></Loggers>
</Configuration>

编写测试

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;public class TestLog4j2 {static Logger logger = LogManager.getLogger(LogManager.ROOT_LOGGER_NAME);public static void main(String[] args) {logger.trace("trace message");logger.debug("debug message");logger.info("info message");logger.warn("warn message");logger.error("error message");logger.fatal("fatal message");System.out.println("Hello World!");}}

支持原创-来自CSDN作者:[HeatDeath](https://blog.csdn.net/HeatDeath)

log4j的使用和log4j过时问题的解决相关推荐

  1. Log4j使用详解(log4j.XML格式)——整理

    log4j.xml配置详解(原文地址) 首先当然是得到log4j的jar档,推荐使用1.2.X版,下载地址: http://logging.apache.org/log4j/1.2/download. ...

  2. log4j(七)——log4j.xml简单配置样例说明

    一:测试环境与log4j(一)--为什么要使用log4j?一样,这里不再重述 二:老规矩,先来个栗子,然后再聊聊感受 (1)这里栗子有一点特别呀!给出了包名唉!想必有用,是的,配置文件中要特别说明一下 ...

  3. Log4j使用详解(log4j.XML格式)

    首先当然是得到log4j的jar档,推荐使用1.2.X版,下载地址: http://logging.apache.org/log4j/1.2/download.html xml格式的log4j配置文件 ...

  4. 开发log4j配置_从 log4j 迁移到 logback

    最近把项目的日志框架从 log4j 迁移到 logback,过程里遇到很多坑,记录下来 目标 本次迁移的目标就是用 slf4j+logback 的日志框架来取代目前的 slf4j+log4j 如何迁移 ...

  5. java log4j 写日志_Java log4j同时写入文本日志和数据库日志

    版权声明:转载原创文章请以超链接形式请注明原文章出处,尊重作者,尊重原创! 恰饭广告 Log4jUtil.java import org.apache.log4j.Logger; import org ...

  6. log4j日志 linux配置,Log4j 日志详细用法

    简单的说log4j就是帮助开发人员进行日志输出管理的API类库.它最重要的特点就可以配置文件灵活的设置日志信息的优先级.日志信息的输出目的地.日志信息的输出格式 Log4j 除了可以记录程序运行日志信 ...

  7. log4j.dtd_Eclipse log4j.xml –无法将log4j.dtd验证为XML定义

    log4j.dtd I use log4j in most of the projects for logging and use XML based configuration. Most of t ...

  8. log4j(一)——什么是Log4j以及Log4j的体系结构

    一.什么是log4j 几乎每个大型应用程序都包含自己的日志或跟踪API.为了符合这一规则,欧盟SEMPRER项目决定编写自己的跟踪API.这是在1996年初.经过无数次的增强.几个版本和大量的工作之后 ...

  9. Log4j 1.x 升级 Log4j 2.x (调研和升级)

    因为公司业务需要,目前的log4j 1.x 遇到死锁,需要升级到Log4j 2.x.现在对目前的日志框架进行调研,并根据目前的现状提出升级的方法. 一引言 对于一个应用程序来说日志记录是必不可少的一部 ...

最新文章

  1. Android 自定义View Canvas —— Bitmap
  2. 代数拓扑的数学方法正在变革脑科学
  3. 三重for循环优化_MATALB中对循环操作的优化
  4. stm32 adc过采样_产生ADC误差的外部原因有哪些?
  5. 使用 Arthas 排查开源 Excel 组件问题
  6. CodeForces - 932D Tree(树上倍增,好题)
  7. 树的同构(c语言静态链表实现)
  8. placeholder=请输入用户名(六位数字加英文字母)
  9. 什么是RPA 现在都有哪些产品
  10. 前端技术的概括以及html的基本知识总结
  11. tornado实现基于websocket的好友一对一聊天功能
  12. 剑指offer面试题04. 二维数组中的查找(Array)
  13. 寻找linux最新版本,在各大Linux发行版中安装和使用inxi以查找Linux系统详细信息...
  14. Codesys和基恩士扫码枪Ethernet/IP通信
  15. 笔记:Python Data Science Toolbox (Part 1)
  16. ajax传参的3种形式
  17. 华盛顿大学华人团队进入微软Imagine Cup总决赛!
  18. 记一次配置深信服设备的过程
  19. 于是,我搭了个自己的博客网站
  20. 古剑奇谭2打砺罂10分钟过的方法!

热门文章

  1. AquaCrop_原理学习笔记01:AquaCrop模型简介
  2. linux 摄像头 音频,调用宇视摄像机SDK获取IPC的音视频码流
  3. 服务器虚拟化专用ovf模板,Vmware虚拟机备份、OVF模板
  4. 实例简述Spring AOP之对AspectJ语法的支持
  5. 富春山居图的幽默犀利台词
  6. wps的pdf高亮后怎么取消_pdf高亮文本怎么取消及修改
  7. docker-anpine镜像介绍
  8. 去BAT,你应该要看一看的面试经验总结(转)
  9. 【ElasticSearch】ELK statck
  10. hadoop 3.0+ 版本安装访问50070失败处理方法