log4j2如何读取环境变量(配置日志相对路径时用到了)
2017-03-02 10:48
1981 查看
Log4j2日志相对路径的配置
之前项目中日志的路径配置都是使用如下配置:<Filename="log"fileName="log/test.log"append="false"> <PatternLayoutpattern="%d{HH:mm:ss.SSS}%-5level%class{36}%L%M-%msg%xEx%n"/> </File>
该配置的日志文档会存档当运行程序的顶层路径(如:C:或者D:),我需要配置相对路径到运行程序路径下的logs文件中。网上查了一下两个解决方法,大家给方法都是:http://blog.csdn.net/whoopee/article/details/851416一样的,但是我用的是log4j2的非web项目,尝试了几次读取环境变量,不正确全是配置的字符串或赋值不正确。最后没有办法,只能查看官方文档,下面给出官方文档的变量取值表:
发现log4j2确实有自己读取变量的规则,简单介绍一下常用的几个date--可以按照特定的格式插入当前日期/时间 env--可以读取系统的环境变量 jvmrunargs--可以读取jvm启动时设定的运行参数,但是不能读main函数的参数,在Android系统上也不能用 sys--读取的是systemproperties的属性,基本上这几个参数就够用了。
现在说一下解决日志相对路径的配置解决方法,可以在启动选项的的option.bat批文件中setMYAPP_HOME=%~dp0(设置当前目录为根目录),然后在log4j2.xml文件中引用变量即可:
<Filename="log"fileName="${env:MYAPP_HOME}/log/test.log"append="false">
<PatternLayoutpattern="%d{HH:mm:ss.SSS}%-5level%class{36}%L%M-%msg%xEx%n"/>
</File>
ok解决。
相关文章推荐
- JDK环境变量配置(相对路径)
- 论Docker容器中的Nginx配置文件如何读取系统/容器的环境变量
- log4j中配置日志文件相对路径方法
- log4j中配置日志文件相对路径方法分析
- log4j中配置日志文件相对路径方法分析(转)
- 如何配置compass的索引位置为相对路径
- 如何配置和使用log4net日志(VS2008+SQL2008环境下)
- log4j配置相对路径实现日志记录
- log4j中配置日志文件相对路径方法分析
- 为何用环境变量而不用相对路径来包含第三方库
- 如何配置jdk1.5的环境变量及运行java程序
- Delphi 中相对路径与绝对路径、系统环境变量等相关函数说明
- vb读取环境变量及其路径
- 如何配置jdk的环境变量
- 为何用环境变量而不用相对路径来包含第三方库
- log4j配置相对路径实现日志记录
- 如何找到配置文件的相对路径
- log4j中配置日志文件相对路径
- struts中log4j日志文件的相对路径配置实例分析
- 如何配置和使用log4net日志(VS2008+SQL2008环境下)