Log4j 配置文件(log4j.properties)的所在路径问题

2023-11-06

一般我们直接将log4j.properties放置在src目录下

这样系统自动会找到的,其实就是放在WEB-INF/classes文件下。这个路径在classpath下,所以直接就能找到。我们写Logger的时候如下:

public class HelloLog4j {
  
    public static Logger logger = Logger.getLogger(HelloLog4j.class);

    public static void main(String[] args) {       
        logger.debug("This is debug message.");
        logger.info("This is info message.");
        logger.error("This is error message.");
        xxx();
    }
    
    public static void xxx(){
        logger.debug("main method has invoked xxx method.");
    }

如果现在我们想把log4j.properties文件放置在其它目录下,例如:WEB-INF下和web.xml放在一起。这时候就需要我们手动指定log4j配置文件的路径,否则系统是找不到的。

一、首先我们在web.xml中配置好log4j.properties路径:

        <context-param>
            <param-name>log4jConfigLocation</param-name>
            <param-value>/WEB-INF/log4j.properties</param-value>
        </context-param>

二、然后写个servlet,部分代码如下:

public void init() {
    String prefix = getServletContext().getRealPath("/");
    String file = getInitParameter("log4jConfigLocation");
    if (file != null) {
      PropertyConfigurator.configure(prefix + file);     
    }
}

三、在web.xml中配置servlet,并将log4jConfigLocation加入到Servlet中,让其Server启动即运行:

<servlet>
   <servlet-name>your servlet</servlet-name>
   <servlet-class>your servelt class</servlet-class>
   <init-param>
      <param-name>log4jConfigLocation</param-name>
      <param-value>/WEB-INF/log4j.properties</param-value>
    </init-param>
   <load-on-startup>1</load-on-startup>
</servlet>





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

Log4j 配置文件(log4j.properties)的所在路径问题 的相关文章

  • 为什么选择 XML 而不是属性文件来进行 Log4J 配置?

    是否有任何理由在 Log4J 配置中使用 XML 而不是属性文件 有一个有趣的讨论这篇博客中两者的优点 http www laliluna de log4j tutorial html 以下部分摘自该博客 属性可以由属性文件或 XML 文件
  • 记录多线程应用程序中的活动

    我有一个 Java 分层应用程序 它有一个从不同点调用的多线程数据访问层 对该层的一次调用可能会产生多个线程来并行化对数据库的请求 我正在寻找的是一个日志记录工具 它允许我定义由各种线程组成的 活动 因此 数据访问层中的相同方法应根据其调用
  • Log4j TimeBased 触发策略中 modulate = 'true' 表示什么

    在下面的示例中 每天都会创建一个日志文件 考虑到这个例子 您能否提供一个场景来展示 modulate true 的用法 并将间隔设置为 1
  • 在jsp页面中使用log4j的正确方法是什么

    我的意思是 我希望记录器名称反映 source jsp 文件 无论它是否包含在另一个文件中或编译为类或其他文件 首先 导入所需的包 即 then the jsppagename jsp根据您使用的服务器 可能会发生变化 然后 在 jsp 内
  • 通过匹配模式过滤日志 - log4j

    我的 log4j xml 文件中有以下布局模式 d ISO8601 c p t x 9 5 4 RC12 m n 我想要的是 每当我收到包含消息的日志时process proc completed 应该跳过 我的意思是除了包含此消息的日志之
  • 日志文件未使用 java 中的 log4j 更新/创建

    我正在尝试使用 Java 中的 log4j 捕获日志 该可执行文件位于Linux环境中 它显示日志消息 但是 它没有写入日志文件 我正在使用 log4j xml 这就是我到目前为止所拥有的
  • logback 支持 log4j 附加程序吗?

    为 log4j 创建的自定义 Appender 扩展 AppenderSkeleton 可以与 new 一起使用吗logback框架 我知道logback带有自己的一组类似于 log4j 的附加程序 但这是否可以重用现有的附加程序 如何 以
  • 无法让 grizzly 日志记录工作,没有任何内容写入我的 log4j 日志文件

    我有一个简单的 Java Spring 程序 使用标准 log4j properties 文件来控制日志记录 工作正常 当我们通过以下方式添加 Grizzly 时 GrizzlyHttpServerFactory createHttpSer
  • 从 Glassfish 取消部署 Grails 应用程序会发生类不变性违规

    我有一个在 Glassfish 中运行的 Grails 应用程序 但是当我取消部署时 它会出现 违反类不变性 快速查看堆栈跟踪并在网络上搜索报告 这是 Log4j 的问题 我当时使用的是最新的log4jlog4j 1 2 16 jar 任何
  • 使用Log4j在日志中输出Spark应用程序id

    我有一个用于 Spark 应用程序的自定义 Log4j 文件 我想输出 Spark 应用程序 ID 以及消息和日期等其他属性 因此 JSON 字符串结构如下所示 name time date level thread message app
  • 如何将堆栈跟踪发送到 log4j?

    假设您捕获了一个异常 并在标准输出 例如控制台 上得到以下内容 如果您执行e printStackTrace java io FileNotFoundException so txt at java io FileInputStream
  • JBoss 7.2 版本使用什么日志记录?

    java 中可以使用多种日志记录变体 最流行的是 log4j 和 JDK 日志记录 我想知道 JBoss Application Server 7 2 版本默认使用什么日志记录 通过查看模块或配置文件很难找到所使用的记录器 如果有人可以在这
  • 如何禁用 Spring 日志记录 DEBUG 消息?

    我正在开发一个简单的桌面应用程序 不是网络应用程序 这是我的log4j properties log4j rootCategory INFO stdout log4j appender stdout org apache log4j Con
  • 从 log4j 附加程序中排除类

    我有一个 log4j properties 文件 如下所示 log4j logger com foo INFO foo log log4j logger com foo BarImpl INFO bar log 通常对于与包结构匹配的类co
  • 如何使用 Jboss AS 7.1 启用自定义 log4j

    我尝试了几种选择 但一切对我都不起作用 以前 我在 Tomcat 6 7 中使用了相同的 log4j xml 简单的通用配置 并且我可以通过更新 log4j xml 来控制根日志记录和应用程序日志记录 当我使用 JBoss AS 7 1 部
  • log4j-extras MaxBackupIndex 或类似的

    我正在使用 log4j extras 1 2 17 org apache log4j rolling RollingFileAppender with a org apache log4j rolling TimeBasedRollingP
  • 如果未安装 Java,您是否可以免受 log4j CVE-2021-44228 的影响?

    我已经阅读了很多关于这个问题有多严重的内容 并了解了在我们公司正在生成的代码中找到它的可用选项 并更新了使用易受攻击版本的服务器 我无法找到的是特定服务器是否未安装 Java 即如果我以 root 身份登录并运行java version并得
  • slf4j-log4j12 和 log4j-over-slf4j 之间的区别

    slf4j log4j12 和 有什么区别log4j over slf4j https www slf4j org legacy html log4j over slf4j以及什么时候应该使用它们
  • 使用 Spring 注入 Log4J 记录器

    我有一个带有以下 web xml 的 spring 2 5 webapp
  • 在 log4j 中配置 RollingFileAppender

    我正在开发一组网络服务 我们希望有一个每日轮换的日志 我想得到org apache log4j rolling RollingFileAppender来自 log4j extras 配套工作 因为文档表明这最适合生产环境 我有两个主 log

随机推荐

  • 基于空间平滑MUSIC算法的相干信号DOA估计(1)

    空间平滑MUSIC算法 1 1 前言 在上一篇博客中有提到 当多个入射信号相干时 传统MUSIC算法的效果就会不理想 具体原因是多个入射信号相干时 有部分能量就会散发到噪声子空间 使得MUSIC算法不能对其进行有效估计 针对这种情况 解相干
  • Qt 的网络通信(TCP)

    基于TCP Qt的网络通信 在标准 C 没有提供专门用于套接字通信的类 所以只能使用操作系统提供的基于 C 的 API 函数 基于这些 C 的 API 函数我们也可以封装自己的 C 类 但是Qt 提供了封装好的套接字通信类 QTcpServ
  • 史上超强最常用SQL语句大全

    史上超强最常用SQL语句大全 DDL Data Definition Language 数据定义语言 一 操作库 二 操作表 DML Data Manipulation Language 数据操作语言 一 增加 insert into 二
  • 性能测试调优应该注意哪些要点,一般性能测试调优的步骤-Alltesting

    性能测试调优应该注意的要点 要点1 在应用系统的设计开发过程中 应始终把性能放在考虑的范围内 要点2 确定清晰明确的性能目标是关键 要点3 必须保证调优后的程序运行正确 要点4 系统的性能更大程度上取决于良好的设计 调优技巧只是一个辅助手段
  • steam上wallpaper静态壁纸如何提取高清图

    mirrors notscuffed repkg GitCode 将壁纸资源文件打开 把sene pkg与两个文件放在同目录下在 打开终端输入 RePKG exe extract scene pkg 目录下找到 output materia
  • map reduce takeaways

    首先是数据的partition share nothing parallel architecture 执行task的machine独立 各自处理自己的partition 不需要通信 暴露给用户的控制点只有2个 map function 和
  • 基于51单片机的水箱水位监测控制系统proteus仿真原理图PCB

    功能介绍 0 本系统采用STC89C52作为单片机 1 通过传感器监测水位 当水位低于水位下限时 接通加水水泵 直到水位达到水位上限 停止加水 2 水位低于水位下限时 声光报警 3 可按键手动加水 直到水位达到水位上限 停止加水 4 采用D
  • Axure基础:母版与内联框架

    一 母版 1 母版的作用 母版是解决了我们页面中的重复元素和同步改动的问题 举个例子在两个页面中假设都有这个元素和界面 那我如果我们不用母版 用常规手段就是复制黏贴 但这样没办法保证我们数据同步问题 如果改动其中一个元件 另一个元件没办法同
  • 陀螺解读

    出品 陀螺研究院 区块链是在数字世界围绕数据的记录 组织和传播创造的共建 共享 共治的应用范式 作为一种能够满足数字经济发展需求的关键技术 区块链可有效赋能产业转型 聚力推动产业经济价值 2019年10月24日 中共中央政治局明确把区块链作
  • 马氏距离-Mahalanobis Distance

    Mahalanobis距离是表示数据的协方差距离 它是一种有效的计算两个未知样本集的相似度的方法 与欧氏距离不同的是它考虑到各种特性之间的联系 与欧氏距离不同的是它考虑到各种特性之间的联系 例如 一条关于身高的信息会带来一条关于体重的信息
  • IDEA生成JSON字符串

    第一步 先书写以下基本程序 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 package cn lianxi cn lianxi json Author Wxz Date 2020 8 19 16 45 pu
  • UVa1614

    这道题是一道好题 我想了很久都没有想出合适的方案 这道题考了我们贪心 不确定 数学推导 确定 的能力 看来我的数学逻辑以及推理能力还需要加强啊 题意不说 直接上思路 由于1 lt ai lt i的条件 我们需要从这里入手求解 首先 我们需要
  • Vue判断字符串(或数组)中是否包含某个元素

    Vue判断字符串中是否包含某个字符串 方法有好多种 这里暂时先说我知道的两种 以后知道了别的 会继续更新 方法一 includes方法 数组 字符串都可以 var str Hello World if str includes World
  • 关于多层感知机(MLP)你必须知道的20个知识点

    问题1 MLP的基本组成单元是什么 答 MLP的基本组成单元是神经元 neuron 它通过激活函数对输入进行加权求和和非线性变换 问题2 MLP通常有几层 答 MLP通常有输入层 隐藏层和输出层 隐藏层可以有一层或多层 问题3 MLP的训练
  • 配置ntp客户端与服务器端时间的同步

    1 实验机器介绍 Ip地址 服务器1 192 168 245 128 服务器2 192 168 245 130 客户端1 192 168 245 129 实验前准备 在ntpS1 和ntpS2 中 配置外部服务器为同步服务器 并开放给192
  • 前端内存泄漏和溢出的情况以及解决办法

    写在前面 在平时写代码时 内存泄漏的情况会时有发生 虽然js有内存回收机制 但在平时编程中还是需要注意避免内存泄漏的情况 前几天做移动端时遇到一个内存泄漏造成移动端页面卡顿的问题 所以想总结下前端内存泄漏的情况 回顾下基础知识 一 什么是内
  • RPM 的 spec 文件如何编写

    在关于 RPM 软件包构建的上一篇文章中 你了解到了源 RPM 包括软件的源代码以及 spec 文件 这篇文章深入研究了 spec 文件 该文件中包含了有关如何构建 RPM 的指令 同样 本文以 fpaste 为例 了解源代码 在开始编写
  • 全球及中国汽车用导航行业应用前景与销售渠道分析报告2022-2028年

    全球及中国汽车用导航行业应用前景与销售渠道分析报告2022 2028年 修订日期 2022年1月 专员对接 周文文 查询鸿晟信合研究院了解详细内容 第一章 汽车用导航产业概述 1 1 汽车用导航定义及产品技术参数 1 2 汽车用导航分类 1
  • Idea:修改新项目默认设置

    修改Idea新项目默认设置 使用idea开发时 即使在settings设置项目配置 如maven 在新建项目也会发现项目配置变为默认 这时需要设置新建项目配置 配置步骤 File New Projects Setup Settings fo
  • Log4j 配置文件(log4j.properties)的所在路径问题

    一般我们直接将log4j properties放置在src目录下 这样系统自动会找到的 其实就是放在WEB INF classes文件下 这个路径在classpath下 所以直接就能找到 我们写Logger的时候如下 public clas