Log4j配置输出log文件的相对路径

log4j--动态打印日志文件到指定文件 【代码】log4j--动态打印日志文件到指定文件夹。 阅读详情

转载请注明来源-作者@loongshawn:http://blog.csdn.net/loongshawn/article/details/52967694

1 配置log4j

log4j.properties文件内容如下:

log4j.rootLogger=debug,info,error,DEBUG,CONSOLE

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n

log4j.logger.info=info
log4j.appender.info=org.apache.log4j.DailyRollingFileAppender
log4j.appender.info.layout=org.apache.log4j.PatternLayout
log4j.appender.info.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n
log4j.appender.info.datePattern='.'yyyy-MM-dd
log4j.appender.info.Threshold = info
log4j.appender.info.append=true
log4j.appender.info.File=/Users/loongshawn/Documents/testspace/axf-client/logs/info/info.log

log4j.logger.error=error
log4j.appender.error=org.apache.log4j.DailyRollingFileAppender
log4j.appender.error.layout=org.apache.log4j.PatternLayout
log4j.appender.error.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n
log4j.appender.error.datePattern='.'yyyy-MM-dd
log4j.appender.error.Threshold = error
log4j.appender.error.append=true
log4j.appender.error.File=/Users/loongshawn/Documents/testspace/axf-client/logs/error/error.log

log4j.logger.DEBUG=debug
log4j.appender.DEBUG=org.apache.log4j.DailyRollingFileAppender
log4j.appender.DEBUG.layout=org.apache.log4j.PatternLayout
log4j.appender.DEBUG.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n
log4j.appender.DEBUG.datePattern='.'yyyy-MM-dd
log4j.appender.DEBUG.Threshold = debug
log4j.appender.DEBUG.append=true
log4j.appender.DEBUG.File=/Users/loongshawn/Documents/testspace/axf-client/logs/debug/debug.log

配置文件中指定日志输出路径配置代码片段如下:

log4j.appender.DEBUG.File=/Users/loongshawn/Documents/testspace/axf-client/logs/debug/debug.log

上述日志输出路径为指定好的绝对路径,可否依据程序的运行情况,动态配置路径呢?答案是可以的,详情往下看。

2 动态配置日志输出路径

动态配置日志输出路径分为两步:第一步抽象日志输出路径;第二步设置系统变量。

2.1 抽象日志输出路径

修改文件输出路径,即将决定路径替换为${log.base}

log4j.appender.DEBUG.File=${log.base}/system/logs/debug/debug.log

2.2 设置系统变量

上一步中已经指定了抽象路径log.base(当然名称可以随意取),因此在程序运行前需要初始化这个系统变量。

设置系统变量利用方法System.setProperty(“log.base”,rootPath); 这里需要注意一点是,main函数主类中初始化变量时,不要初始化log4j, 否则会报错,初始化log4j的动作放在子类中。

// 初始化日志路径
String rootPath = PathUtil.getPath();
System.setProperty("log.base",rootPath);

2.3 程序运行效果

上述配置是在程序运行的根目录中创建system/log的文件夹,在文件夹中分别创建日志输出文件。

这里写图片描述

这里写图片描述

这里写图片描述

从零到一:AIGC+Unity3D打造动态天空盒的实战指南 本文详细介绍了如何利用AIGC技术结合Unity3D打造动态天空盒的实战指南。通过AIGC生成360全景图,再集成到Unity3D中,实现高效、多样化的天空盒效果。文章涵盖了从AIGC全景图生成、工作流搭建到Unity场景集成的完整流程,并提供了代码示例和优化建议,帮助开发者快速掌握这一技术。 阅读详情

相关推荐

AI Agent评估:指标、策略与最佳实践

AI智能体正逐渐融入到各个领域,从日常的对话助手到复杂的工作流程自动化,其应用范围不断拓展。然而,确保这些智能体能够可靠、高效地完成任务至关重要,这就使得AI智能体评估成为了人工智能发展过程中不可或缺的一环。本文将深入探讨AI智能体评估的指标、策略以及最佳实践,为读者全面解读这一关键领域。

llm_way的博客 3433

log4j 设置日志输出文件的路径

大家一般都在Windows上开发,部署到linux服务器上通常会出现一些路径报错,因为两个操作系统的文件系统不同,不能用绝对路径来定义log4j输出日志路径.对于相对路径来说,有以下解决方法. 1.日志输出debug级别以上的到stdout(控制台) 和R1(自己随便定义的) log4j.rootLogger=debug,stdout,R1 2.输出到 盘的 根目录下 (不推荐,wi

路人甲的博客 2万+

西门子开发包,PRODAVE MPI IE V6.0,西门子PLC开发包

西门子开发包,PRODAVE MPI IE V6.0,西门子PLC开发包

Log4j配置日志存放路径

Log4j日志存放路径配置

xieqj_0511的博客 7186

log4j配置详解

log4j配置详解及源码

Java_dragon95的博客 1万+

Log4j日志决战

log4j一、 Log4j简介01. Loggers02. Appenders03. Layouts二、配置详解01. 配置Logger02. 配置日志信息输出目的地(appender)03. 配置日志信息的输出格式(Layout)三、配置文件的位置01. 默认加载02. 自定义加载四、案例 一、 Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源...

we.think 1830

java log输出文件路径_log4j中日志输出文件指定相对路径的方法

log4j中日志输出文件指定相对路径的方法1.设置在C:/log/error.loglog4j.appender.E = org.apache.log4j.RollingFileAppenderlog4j.appender.E.File = C:/log/error.loglog4j.appender.E.Append = truelog4j.appender.E.Threshold = ER...

weixin_34938347的博客 2525

实现log4j日志文件相对路径保存

实现log4j日志文件相对路径保存 Log4j日志输出路径只能设定成绝对路径,这个在web项目中就变得很不方便了。 比如我想要设定日志保存在webapp/log 下面是引入内容: 方法一主要是扩展了log4j的RollingFileAppender类,其他的FileAppender同样道理。扩展的方法,就是用一个子类去覆盖setFile方法,这个方法在log4j读取配置文件生成appen

u011915230的专栏 3088

web项目中Log4j输出文件问题

log4j.properties文件放在classpath文件夹下(即web项目的WEB-INF/classes文件夹下,这样可以保证log4j能够自动识别配置文件,而不用显式的配置)内容如下: log4j.rootLogger=warn, stdout,file ### direct log messages to stdout ### log4j.appender.stdout=org.a

Snowball 4268

Log4j使用相对路径指定log文件及使用总结

原文地址:http://huanyue.iteye.com/blog/574598 Log4j在指定log文件位置时一般是使用绝对路径,这样在部署环境发生变化时显得十分麻烦,在网上找了很多种方法,个人感觉以下方法比较适用: 由于spring也会加载log4j.properties,如果加载不到就往控制台打log信息。Spring提供了 一个Log4jConfigListen

MemRay 4万+

如何在log4j.properties文件中使用相对路径

如何在log4j.properties文件中使用相对路径2011年04月26日 星期二 21:36写在最前面:log4j是一个应用非常广泛的Java日志组件。我们可以方便的借助它将日志信息输出到控制台、文件、数据库等甚至可以通过扩展以流的方式输出到任何存储媒介中。本文要解决的问题:如何在log4j.properties文件中使用相对路径?缺省情况下我们只能在log4j.properties中配置绝对路径。这样以来,我们在系统部署、开放环境移植等环节就会带来很大的不便,需要将路径改来改去。因此,我们可以使用下

wang12的专栏 4666

springboot整合Log4j2(将日志输出到指定文件

为什么选择Log4j2? 1.性能较强 2.扩展性强,可以自定义level。 3.支持kafka 4.数据稳定 如何整合log4j2? 第一步:新建一个springboot项目 第二步:引入jar包 <dependency> <groupId>org.springframework.boot</groupId> <a...

流星007 1万+

log4j相对路径配置

<br /><br />对于下面的方法3没有细看,我用的是listener,设置了<load-on-startup>0</load-on-startup>servlet启动还是在log配置文件之后,自己就用了listener,启动在配置文件之前。<br />转:http://hi.baidu.com/suofang/blog/item/6cf2befbd1ff07234f4aea90.html<br />花了我一个上午的时间来解决struts中log4j日志文件相对路径问题,网上log4j日志文件的相对路

happy492的专栏 2585

java指定log打印的路径_Log4j使用相对路径指定log文件及使用总结

Log4j在指定log文件位置时一般是使用绝对路径,这样在部署环境发生变化时显得十分麻烦,在网上找了很多种方法,个人感觉以下方法比较适用:由于spring也会加载log4j.properties,如果加载不到就往控制台打log信息。Spring提供了 一个Log4jConfigListener,本身就能通过web.xml中配置来指定位置加载log4j配置文件log输出路径,注意该 listene...

weixin_33006121的博客 1040

(三)springboot 配置log4j2日志,并输出文件

1、pom.xml中,如果导入了spring-boot-starter-web依赖包,那么必须先将自带的日志框架去掉,如下 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</arti...

qq_40019973的博客 4624

linux log4j配置文件详解,Log4j配置日志文件相对路径

方法一、 解决的办法自然是用相对路径代替绝对路径,其实log4j的FileAppender本身就有这样的机制,如:log4j.appender.logfile.File=${WORKDIR}/logs/app.log其中“${WORKDIR}/”是个变量,会被System Property中的“WORKDIR”的值代替。这样,我们就可以在log4j加载配置文件之前,先用System.setProp...

weixin_34907135的博客 1406

Log4j2 示例 不同类log到不同的文件

Log4j2 示例 1. 在项目中lib中加入要使用的jar 2. 在src文件夹下,写配置文件log4j2.xml log/test1 test1.log test1Rolling.log log/test2 test2.log test2Ro

bruno231的专栏 1万+

java log4j相对路径_Log4j配置日志文件相对路径

以上是网上log4j日志文件相对路径配置的三种方法(我能找到的就三种),分析:方法一主要是扩展了log4j的RollingFileAppender类,其他的FileAppender同样道理。扩展的方法,就是用一个子类去覆盖setFile方法,这个方法在log4j读取配置文件生成appender的时候调用,传入的就是配置文件中的路径,这样我就可以按照自己的想法在路径前面加上根路径了。这种方法可以在...

weixin_33425215的博客 971

log4j中日志输出文件指定相对路径的方法

log4j中日志输出文件指定相对路径的方法 1.设置在C:/log/error.log log4j.appender.E = org.apache.log4j.RollingFileAppender log4j.appender.E.File = C:/log/error.log log4j.appender.E.Append = true log4j.appender....

程序员一代码搬运工 346

log4j中用变量配置日志输出文件位置

log4j中用变量配置日志输出文件位置

qq_43685474的博客 2134
上一篇: Maven编译项目提示--编码GBK的不可映射字符
下一篇: 利用JavaFx开发RIA桌面应用-加载等待界面设计
loongshawn
博客等级 码龄11年 640粉丝 250原创
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值