我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Log4j中相对路径的问题怎么解决

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Log4j中相对路径的问题怎么解决

本篇内容介绍了“Log4j中相对路径的问题怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

一、properties文件中:

log4j.appender.logfile.File=${WORKDIR}/logs/app.log

其中“${WORKDIR}/”是个变量,会被System Property中的“WORKDIR”的值代替。这样,我们就可以在log4j加载配置文件之前,先用System.setProperty设置好根路径。

jsp中可以这样:

String path = pageContext.getServletContext().getRealPath("/");
String realPath = path+"WEB-INFclasseslog4j.properties";
System.setProperty("WORKDIR",path.replace("","/"));
PropertyConfigurator.configure(realPath.replace("","//"));//加载.properties文件

[@more@]

二、可以使用环境变量(没试过网上看的)
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=${catalina.base}/logs/logs_tomcat.log
log4j.appender.R.MaxFileSize=10KB

三、具体实现:(没试过网上看的)
一般在我们开发项目过程中,log4j日志输出路径固定到某个文件夹,这样如果我换一个环境,日志路径又需要重新修改,比较不方便,目前我采用了动态改变日志路径方法来实现相对路径保存日志文件
(1).在项目启动时,装入初始化类:
public class Log4jInit extends HttpServlet {    
 static Logger logger = Logger.getLogger(Log4jInit.class);    
 public Log4jInit() {    }    
 public void init(ServletConfig config) throws ServletException {        
  String prefix = config.getServletContext().getRealPath("/");
  String file = config.getInitParameter("log4j");        
  String filePath = prefix + file;        
  Properties props = new Properties();        
  try {            
   FileInputStream istream = new FileInputStream(filePath);
   props.load(istream);
   istream.close();            
   //toPrint(props.getProperty("log4j.appender.file.File"));            
   String logFile = prefix + props.getProperty("log4j.appender.file.File");//设置路径            
   props.setProperty("log4j.appender.file.File",logFile);            PropertyConfigurator.configure(props);
   //装入log4j配置信息        
  } catch (IOException e) {
   toPrint("Could not read configuration file [" + filePath + "].");            
   toPrint("Ignoring configuration file [" + filePath + "].");            
   return;
  }    
 }    
 public static void toPrint(String content) {        
  System.out.println(content);    
 }
}

(2).Web.xml中的配置
 
 log4j-init
 Log4jInit
 
 log4j
 WEB-INF/classes/log4j.properties

“Log4j中相对路径的问题怎么解决”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Log4j中相对路径的问题怎么解决

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Log4j中相对路径的问题怎么解决

本篇内容介绍了“Log4j中相对路径的问题怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、properties文件中:log4j.
2023-06-03

C#相对路径绝对路径的问题怎么解决

这篇文章主要介绍“C#相对路径绝对路径的问题怎么解决”,在日常操作中,相信很多人在C#相对路径绝对路径的问题怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#相对路径绝对路径的问题怎么解决”的疑惑有所
2023-06-18

dedecms 解决rss相对路径问题

有些朋友会遇到这样的问题,这个也是织梦http://www.cppcns.com的bug。那么下面我编程客栈们就开始讲解如何进行解决。 我们找到 模版文件templets/plus/rss.htm 地址改成你的就可以了 {ded
2022-06-12

vue css相对路径导入问题怎么解决

本篇内容介绍了“vue css相对路径导入问题怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前提npm install style-
2023-06-30

vue项目中使用axios遇到的相对路径和绝对路径问题怎么解决

这篇文章主要讲解了“vue项目中使用axios遇到的相对路径和绝对路径问题怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue项目中使用axios遇到的相对路径和绝对路径问题怎么解决
2023-06-30

Vue打包后相对路径的引用问题怎么解决

这篇“Vue打包后相对路径的引用问题怎么解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue打包后相对路径的引用问题怎么
2023-06-30

Java中怎么获取路径的绝对路径和相对路径

今天小编给大家分享一下Java中怎么获取路径的绝对路径和相对路径的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。前言:在纯 J
2023-06-29

Windows中fakepath路径问题怎么解决

在 Windows 中,当我们在网页中上传文件时,浏览器会将文件的完整路径显示为 `fakepath`。这是出于安全考虑,以防止网站获取用户计算机上的真实文件路径。如果你希望获取真实的文件路径,可以使用以下方法之一解决 `fakepath`
2023-08-11

Python中怎么获取相对路径和绝对路径

Python中怎么获取相对路径和绝对路径,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Python是一门跨平台的语言,但并不是说你用Python随便写的一个程序就能在不同的
2023-06-17

python中的路径拼接问题怎么解决

本篇内容介绍了“python中的路径拼接问题怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!python路径拼接使用:os.path.
2023-07-05

PHPCMS V9采集地址中有相对路径的问题及解决方法

修改数据库v9_collection_node,增加两个字段replace_from,replace_to(varcwww.cppcns.comhar(200)) 1、 /phpcms/modules/collection/template
2022-06-12

vue-router怎么解决相同路径跳转报错问题

这篇“vue-router怎么解决相同路径跳转报错问题”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue-router怎么
2023-07-05

angular中怎么解决ngRoute路径出现#!#的问题

这篇文章主要介绍了angular中怎么解决ngRoute路径出现#!#的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在做一个开源项目的时候,使用了"angular-ro
2023-06-15

html中怎么把图片的绝对路径改成相对路径

本篇内容介绍了“html中怎么把图片的绝对路径改成相对路径”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  首先要我们要弄懂相对路径修改成绝
2023-06-05

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录