Log4j(三)——Log4j配置文件位置详解

2023-10-27

自动加载配置文件:

(1)如果采用log4j输出日志,要对log4j加载配置文件的过程有所了解。log4j启动时,默认会寻找source folder下的log4j.xml配置文件,若没有,会寻找log4j.properties文件。然后加载配置。配置文件放置位置正确,不用在程序中手动加载log4j配置文件。如果将配置文件放到了config文件夹下,则需要简单设置一下。

eclipse下:
在这里插入图片描述
idea下:
点击File->Projects Structure
在这里插入图片描述

手动加载配置文件

  1. PropertyConfigurator.configure(“log4j.properties”) 默认读取的是项目根目录的路径。此时的log4j.properties要放在项目目录下。

    即log4j.properties和src是同级目录,同在根目录下。

  2. 而一般,一个java项目中可能会有很多的配置文件,建议把所有的配置文件放到一个文件夹下,

    例如,放到config文件夹。那么在读取这些配置文件的时候要加上子目录名称。

    在项目目录下创建config文件夹(注意:不是在src文件下),此时,config和src是同级目录

    这时,读取路径改为:

    PropertyConfigurator.configure("config/log4j.properties");
    
  3. 如果不手动设置,不用人为的写加载log.properties文件的代码时,可以直接将其放src目录下,千万要记得,注意,src需要时source,如果不是,需要设置一下:

    点击file->Project Structure
    在这里插入图片描述

  4. 项目打成jar包时,一般不会把配置文件也打进jar包。

    如果是第一种方式,可以直接将log4j.properties文件和生成的HelloWorld.jar放在同一目录下,项目就能顺利读取配置文件。

    如果是第二种方式,要建立config文件夹,把配置文件放入其中,再将config文件和生成的HelloWorld.jar放在同一目录下,项目就能顺利读取配置文件。

总结

log4j.properties配置文件,配置简单,但不支持复杂过滤器filter,log4j.xml虽然配置文件看似复杂,但支持复杂过滤器和Log4j的新特性。所以推荐使用log4j.xml。

在实际开发中,时刻需要注意把配置文件放对位置。

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

Log4j(三)——Log4j配置文件位置详解 的相关文章

  • 在Java中清空数组/处理

    除了循环遍历数组中的每个元素并将每个元素设置为 null 之外 Java 处理中是否有一个本机函数可以简单地清空数组 或销毁它 以便能够将其重新声明为新数组 There s Arrays fill myArray null 并不是说它执行的
  • 将 spring-security 与 spring-webflux 结合使用时禁用 WebSession 创建

    我正在使用 Rest api 运行无状态 spring boot 应用程序 并希望按照所述禁用 WebSessions 的创建https www baeldung com spring security session https www
  • 无法实例化接收器 com.parse.GcmBroadcastReceiver

    我正在编写一个使用 GCM 通知和解析推送的离子应用程序 这个应用程序正在使用这些插件 com ionic keyboard 1 0 3 Keyboard com phonegap plugins PushPlugin 2 4 0 Push
  • 如何修复 Android 7.0 的 Spinner 模式下的 DatePickerDialog?

    我目前正在开发一个简单的项目 其中包含一个包含在 Web 视图中的网站 具有少量交互 以提高网站本身和 Android 移动设备之间的交互性 由于该网站包含用户生日的日期输入字段 因此我希望实现一个与所有设备兼容的旋转格式的日期选择器 我尝
  • 如何在 Eclipse 中以编程方式关闭编辑器 [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 当我们删除一个项目 IProject 时 我们想关闭它的所有打开的文件 我可以通过项目的成员方法访问 IFiles 我想关闭已删除项目的所有
  • 用 java 编写解释器时的 switch 或 if 语句

    当前的作业需要我编写一个程序 以一种非常微小且基本的编程语言 行为有点像 FORTRAN 来读取包含指令的文件并执行这些指令 基本上它是我猜的语言的简单解释器 它是完全线性的 所有语句都是按顺序定义的 并且只有字符串和整数变量 我需要查找和
  • Java 唤醒休眠线程

    我阅读了其他帖子 但没有找到我正在寻找的确切答案 所以我希望有人能给出一些澄清 我有一个将运行一段时间的程序 我有一些在后台运行的线程来执行各种任务 为了简单起见 让我们考虑 3 个线程 ThreadA每 10 秒执行一次任务 其中Thre
  • C# 中的协变和逆变

    首先我要说的是 我是一名正在学习 C 编程的 Java 开发人员 因此 我会将我所知道的与我正在学习的进行比较 我已经使用 C 泛型几个小时了 我已经能够在 C 中重现我在 Java 中知道的相同内容 除了几个使用协变和逆变的示例 我正在读
  • Java元数据读写

    是否可以以通用方式 对于所有图像类型 在 Java 中读取和写入元数据 我找到了一些示例 但它们总是特定的 例如 JPEG 或 PNG 我需要一些足够通用的东西 而不是到处都有 if else 语句 我不想重写源代码 但这是一个很好的例子
  • 不要模拟值对象:过于通用的规则,没有解释

    以下是 Mockito 单元测试框架的引用 不要模拟值对象 为什么有人会想要这样做呢 因为实例化对象太痛苦了 gt 无效 原因 如果创造新的装置太困难 那就是一个迹象 代码可能需要一些认真的重构 另一种方法是创建 价值对象的构建者 有一些工
  • 在 eclipse 之外将 Spring MVC 应用程序部署到 tomcat 的幕后会发生什么?

    我猜想使用像 eclipse 这样很棒的 IDE 的一个缺点是你会忽略应用程序幕后发生的事情 我是一名 Ruby 开发人员 所以不是一名 Java 老手 所以我一直在用 java 编写一个项目 并使用 spring 框架进行 IOC 和 M
  • NetBeans 代码模板 ${date}?

    我在 Eclipse 中有这个代码模板 自 日期 起 当输入时我得到这样的东西 自2009年8月4日起 但是当我添加相同的模板时 自 日期 起 到 NetBeans 它输出 自日期以来 有人可以帮忙吗 还没有答案吗 这在 Netbeans
  • 为什么现在()? (客观化)

    为什么我想要异步加载 Objectify 实体 异步加载到底意味着什么 根据客观化有关加载的文档 https code google com p objectify appengine wiki BasicOperations Loadin
  • Selenium - 等待网络流量

    我们将 Selenium 与 Java API 和一些 Javascript 用户扩展一起使用 我们在应用程序中使用了大量 AJAX 调用 我们的许多测试随机失败 因为有时 AJAX 调用完成得比其他时候慢 因此页面未完全加载 我们通过等待
  • Google Cloud Messaging - 立即收到或长时间延迟收到的消息

    我在大学最后一年的项目中使用谷歌云消息传递 一切正常 但我在使用 GCM 时遇到了一些麻烦 通常 消息要么几乎立即传递 要么有很大的延迟 我读过这篇文章 但我真的认为它不适用于这种情况 GCM 通常会在消息发送后立即传送消息 然而 这并不总
  • 方法签名中带或不带synchronized关键字的方法具有相同的字节码

    对于以下 2 个类 获得相同的 Java 字节码 java版本 java 版本 1 8 0 181 Java TM SE 运行时环境 构建 1 8 0 181 b13 Java HotSpot TM 64 位服务器 VM 内部版本 25 1
  • 编写自定义 Eclipse 调试器

    EDIT 一定有某种方法可以解决这个问题 而无需编写全新的调试器 我目前正在研究在现有 java 调试器之上构建的方法 如果有人对如何获取 Java 调试器已有的信息 有关堆栈帧 变量 原始数据等 有任何想法 那将非常有帮助 我想要做的是我
  • java.io.EOFException:没有更多可用数据 - 预期结束标记 关闭开始标记

    我正在使用 xmpp 开发一个聊天应用程序 根据我们的要求 我们有三台服务器 Apache Tomcat 7 ejabbered 2 1 11 和 mysql 5 5 to run xmppbot on tomcat used below
  • 如何在java 1.8中从org.jboss.jca.adapters.jdbc.jdk8.WrappedConnectionJDK8转换为oracle.jdbc.OracleConnection

    如何在 java 1 8 中从 org jboss jca adapters jdbc jdk8 WrappedConnectionJDK8 转换为 oracle jdbc OracleConnection 目前我正在这样使用并得到以下异常
  • 我找不到 IntelliJ 快捷方式

    我使用 vim 一段时间 我知道有一个 intellij vim 插件 我很好奇内置的 IntelliJ 文本导航存在什么 如何打开实时模板来创建模板 如何查看以 tr 开头的现有模板列表 如何进行全局搜索并在当前文档中进行搜索 然后转到下

随机推荐

  • HJ103 Redraiment 的走法-最长递增序列

    HJ103 Redraiment 的走法 描述 Redraiment 是走梅花桩的高手 Redraiment 可以选择任意一个起点 从前到后 但只能从低处往高处的桩子走 他希望走的步数最多 你能替 Redraiment 研究他最多走的步数吗
  • Python基础手册

    目录 第1章 Python环境准备与数据类型 分支结构 1 1 自动化测试介绍与第1个python程序 1 1 1 自动化测试介绍 1 1 2 Python环境准备 1 1 3 什么是解释器 编译型和解释型 1 1 4 第一个Python程
  • 对JSON.parse()中存在转义字符的解决以及js中替换函数replace()的认识

    在工作中 遇到对页面数据进行转存json格式数据后存储在数据库中 然而在显示数据时遇到无法显示json中的数据 产生的bug 问题抛出 1 首先认识下 在JSON parse 将后台传过来的字符串数据转存对象 遇到字符串中带有转义字符 然而
  • 使用Burpsuite进行暴力破解

    Burpsuite是一款Web安全领域的跨平台工具 基于Java开发 它集成了很多用于发现常见web漏洞的模块 如Proxy Spider Scanner Intruder Repeater等 所有模块共享一个能处理并显示HTTP消息的扩展
  • Odoo源码安装

    安装数据库 Odoo 使用 PostgreSQL 作为数据库管理系统 使用您的包管理器下载并安装 PostgreSQL sudo apt install postgresql postgresql contrib 创建用户给odoo连接访问
  • Android开发从入门到精通(3)

    第三章 下载和安装Android SDK 下载和安装Android SDK 第三章 1 关键技能和概念 下载Android SDK 使用Eclipse的可升级特性 为Eclipse下载 安装并配置Android Plugin 检查PATH声
  • 关于Dev c++的简单设置

    一 添加初始源代码 可以在工具 编辑器选项 代码 缺省源中添加初始源代码 这样每次打开软件都会帮你写好C语言必须的几行代码 二 调整代码对齐格式 在格式化选项中可以调整代码格式 我选择了allman风格 默认为Java 在编辑代码时 按住c
  • SA 后缀数组 / SAM 后缀自动机 c++ 模板

    文章目录 前言 代码 1 SA 2 SAM 前言 SA 后缀数组模板 SAM 后缀自动机模板 代码 1 SA include
  • Vue SEO优化之预渲染

    SPA 只有一个html文件的web应用 特点 只有一个html 所有内容在这里展现 html文件只加载一次 用户操作不会让页面重新加载 通过动态更新页面内容的方式呈现不同内容 优 交互好 局部更新 不重新加载 前后端分离 前端页面 后端数
  • 十大人工智能技术

    人工智能通过创新技术改变了我们的生活方式 人工智能在每个行业都掀起了风暴 并对社会的每个部门都产生了深远的影响 人工智能术语一词最早是在1956年的一次会议上创造的 会议的讨论导致了跨学科信息技术自然语言生成学 互联网的出现帮助技术呈指数级
  • 前端开发ps软件及蓝湖的基本使用

    首先 需要先下载蓝湖插件及ps软件 蓝湖官网 https lanhuapp com ps软件 蓝湖使用方法 在官网下载Photoshop插件 并安装 在蓝湖官网注册账号和密码 并登录 下载完成以后 重启ps软件 在 窗口 扩展 蓝湖 打开
  • VUE 在一个组件中引用另外一个组件的两种方式

    下面有两种方法 方法一 代码如下
  • C++图书管理系统,数据结构课程设计(含源码、报告)

    数据结构课程设计 题目 图书管理系统 目 录 一 实验概述 1 1 实验题目 1 2 基本要求 1 3 问题描述 二 详细设计 2 1 数据结构的设计 2 1 1 图书信息的存入 2 1 2 学生信息存入 2 2 算法的设计思想及流程图 2
  • SQLi LABS Less 10 时间盲注

    第十关是双引号字符型注入 推荐使用时间盲注 一 功能分析 二 思路分析 三 解题步骤 方式一 时间盲注 第一步 判断注入条件 第二步 判断长度 第三步 枚举字符 脱库 一 功能分析 二 思路分析 页面无显示位 不适合联合注入 页面不显示数据
  • Git提交代码到别人的仓库——详细版

    1 打开别人的GitHub网址 2 先登录你的账号 显示你的头像的时候再点击Fork 2 1 这是Fork前的 Fork前的是别人的头像 2 2 这是Fork后的 Fork后的是你自己的头像 3 复制这个网址 4 进入你的D盘或U盘 5 右
  • HTML5编写旅游网页

    网页样例 代码 table align center tr td img src images top banner jpg alt td tr table
  • QML——添加自定义模块

    一 模块的定义 在使用QML时 我们常常看到类似这样的语句 import QtQuick 2 0 import QtSensors 5 0 通过这些import语句 我们就能使用QML中的相关控件了 其实这就是导入模块的意思 它包括3个部分
  • Eclipse导入Maven项目pom.xml第一行报错

    导入Maven项目pom xml第一行报错 eclipse导入maven项目后 pom xml文件第一行报错 具体报错信息如下 org apache maven archiver MavenArchiver getManifest org
  • 推荐一个无缝背景花纹资源站-AVA7 PATTERNS

    随着用户显示器分辨率的逐渐增大 网站的背景设计也越来越重要了 如果你的网站背景还在使用单调的白色作为背景 那你也许忽视了那些使用大分辨率的用户 他们看到的是网站内容和一大片白色 今天暴风彬彬要向大家推荐一个背景花纹资源站 AVA7 PATT
  • Log4j(三)——Log4j配置文件位置详解

    自动加载配置文件 1 如果采用log4j输出日志 要对log4j加载配置文件的过程有所了解 log4j启动时 默认会寻找source folder下的log4j xml配置文件 若没有 会寻找log4j properties文件 然后加载配