java web项目中 Log4j 的配置

2023-11-12

1、引入jar包
       log4j-1.2.14.jar
2、在web工程中的web.xml文件中新增如下配置
 <!-- 配置日志 -->
 <context-param>    
      <param-name>log4jConfigLocation</param-name>    
      <param-value> /WEB-INF/props/log4j.properties</param-value>    
   </context-param>    
   <context-param>    
      <param-name>log4jRefreshInterval</param-name>    
      <param-value>6000</param-value>    
   </context-param>
    <listener>
      <listener-class>
         org.springframework.web.util.Log4jConfigListener
      </listener-class>
   </listener>
3、在web.xml文件中指定的位置新增 log4j.properties 文件
### set log levels ###
log4j.rootLogger = debug,stdout,D,E
### 输出到控制台 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern =  %d{ABSOLUTE} %5p %c{1}:%L - %m%n
### 输出到日志文件 ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = ${catalina.home}/logs/log.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG 
## 输出DEBUG级别以上的日志
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
### 保存异常信息到单独文件 ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File = ${catalina.home}/logs/error.log
## 异常日志文件名
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
## 只输出ERROR级别以上的日志
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
:  输出日志到文件,需要指定日志文件的位置;因为web工程最终还是要发布到应用服务器(如Tomcat、weblogic)上的,所以配置相对路径是比较可取的; 在路径前加上 ${catalina.home}可以获取应用服务器的根路径;
4、在代码中将日志保存到文件中
For example:
在编写的UserController类中,需要记录日志,那么在这个类中新增如下代码;   
Logger logger=Logger. getLogger(UserController.class);
然后在需要写入日志的地方调用如下方法即可;
logger.debug(user.getName()+" save user success");


如果您觉得文档对您有帮助,希望您能支持一下:http://cup.dnsxo.com

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java web项目中 Log4j 的配置 的相关文章

随机推荐

  • 拖延症解药

    拖延症解药 完美主义 情绪问题 原谅过去的自己 与自己和解 不做准备工作 在不充分条件下启动 计划 死线 是第一生产力 将 死线 提前 将它分段 分解为几个阶段性 死线 一个一个完成 更易启动 降低不确定性 完成一个小目标后奖励自己 顺序
  • 电影下载资源总结

    电驴电骡 donkey4u com emul软件 BT kickass to kat ph isohunt com www torrentkitty com thepiratebay sx thepiratebay ee 论坛 cmct c
  • python绘制三维图

    一 初始化 假设已经安装了matplotlib工具包 利用matplotlib figure Figure创建一个图框 1 2 3 4 import matplotlib pyplot as plt from mpl toolkits mp
  • Elasticsearch 5.6.5 基础笔记(一) - 概念和安装

    概念 Elasticsearch 分布式 可扩展 实时的搜索与数据分析引擎 建立在全文搜索引擎库 Apache Lucene 基础之上 能胜任上百个服务节点的扩展 并支持 PB 级别的结构化或者非结构化数据 将所有的功能打包成一个单独的服务
  • 动态数组的创建与维护

    说是动态数组 其实就是在满容量时 再创建创建一个一定容量的数组 实例代码中是原数组容量的一倍 并将对数组的引用指向新的数组 而当数组容量比较小时 则创建一个一定容量的数组 示例代码中是原数组容量的1 4 并将对数组的引用指向新的数组 示例代
  • Vulkan-程序结构

    程序结构 一般来说 完整的Vulkan程序包含 创建Vulkan实例 获取物理设备列表创建逻辑设备 创建命令缓冲 获取设备中支持图形工作的队列 初始化交换链 创建深度缓冲 创建渲染通道 创建帧缓冲 创建绘制对象 初始化渲染管线 创建栅栏和初
  • Qt获取wifi列表,连接wifi后获取IP地址

    环境win7 qt5 13 MinGW32 台式机 直接上步骤了 网上看到的略显啰嗦 就是这么简单直接 1 头文件 include windows h include wlanapi h 2 pro设置连接路径 需要根据自己安装路径加载 L
  • 要成为一名成功的网络爬虫开发者,需要了解哪些知识点?

    要成为一名成功的网络爬虫开发者 您需要掌握以下一些关键知识 编程语言 Python 是最常用的编程语言之一 特别适合网络爬虫开发 您需要掌握 Python 的基础语法 数据结构和面向对象编程 HTTP 和网络基础知识 了解 HTTP 请求和
  • React之条件渲染(学习和总结)

    在实际开发中经常会遇到条件渲染 一般都是通过if else 语句 三元运算符 switch case 语句来实现 这里记录并学习一下 1 条件渲染之 IF const users id 1 firstName Robin lastName
  • 高精度加法c语言,C语言实现高精度加法

    免费资源网 https freexyz cn 本篇为高精度加法的计算 接下来我还会去写高精度乘法的计算 一 高精度运算的概念 高精度运算其实就是参与运算的数完全超出基本数据类型所能表示的范围的运算 例如int型范围就是 2147483648
  • 深度卷积神经网络(CNN)

    CNN简述 卷积神经网络 Convolutional Neural Network CNN 它是属于前馈神经网络的一种 其特点是每层的神经元节点只响应前一层局部区域范围内的神经元 全连接网络中每个神经元节点则是响应前一层的全部节点 一个深度
  • 信号完整性分析基础知识之有损传输线、上升时间衰减和材料特性(三):耗散因子Df

    在低频下 介电材料的漏电阻是恒定的 用体积电导率来描述材料的电性能 这种体积电导率与材料中离子的密度和迁移率有关 在高频下 由于偶极子的运动增加 电导率随频率增加 材料中可以旋转的偶极子越多 材料的体积电导率就越高 偶极子可以随着施加的场移
  • C++类成员函数可以访问同类不同对象的私有成员

    example 如下例 class Test public Test int v val v Test const Test t val 100 cout lt lt t val lt lt endl void show Test a co
  • Ubuntu识别USB设备

    参考 如何解决Ubuntu无法识别USB设备 作者 一只青木呀 发布时间 2020 08 28 21 02 00 网址 https blog csdn net weixin 45309916 article details 10828682
  • border-style的outset属性在导航中的应用

    代码如下
  • JAVA生成二维码

    一 引入依赖
  • Linux进程管理

    一 Linux下的进程 每个用户均可同时运行多个程序 为了区分每一个运行的程序 Linux给每个进程都做了标识 称为进程号 process ID 每个进程的进程号是唯一的 Linux 给每个进程都打上了运行者的标志 用户可以控制自己的进程
  • 一文看尽2018全年AI技术大突破

    安妮 夏乙 发自 凹非寺量子位 出品 公众号 QbitAI 2018 仍是AI领域激动人心的一年 这一年成为NLP研究的分水岭 各种突破接连不断 CV领域同样精彩纷呈 与四年前相比GAN生成的假脸逼真到让人不敢相信 新工具 新框架的出现 也
  • C++ STL学习网站

    STL教程 C STL快速入门 非常详细
  • java web项目中 Log4j 的配置

    1 引入jar包 log4j 1 2 14 jar 2 在web工程中的web xml文件中新增如下配置