Log4j配置文件被覆盖,log4j.properties无效(检查方法)
2015-03-09 14:25
1186 查看
今天的项目中遇到了log4j.properties日志配置文件不起作用的问题,看了log4j.properties文件是没有语法问题,但是log的配置不起作用。
最后检查是被一个第三方包里面有一个log4j.xml的配置文件。
在log4j.properties和log4j.xml两个文件都存在的时候,log4j框架默认先找log4.xml文件。
怎么确认自己的log4j配置文件时候被第三方包覆盖呢?
可以通过在java命令中添加
打印结果如下:
log4j: Trying to find [log4j.xml] using context classloader ContextLoader@client-sso.
log4j: Using URL [jar:file:/F:/maven_dir/com/baidu/unionlogin/1.0/unionlogin-1.0-baidu.jar!/log4j.xml] for automatic log4j configuration.
log4j: Preferred configurator class: org.apache.log4j.xml.DOMConfigurator
log4j: System property is :null
log4j: Standard DocumentBuilderFactory search succeded.
log4j: DocumentBuilderFactory is: com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
log4j: debug attribute= "null".
log4j: Ignoring debug attribute.
log4j: reset attribute= "false".
log4j: Threshold ="null".
log4j: Level value for root is [info].
log4j: root level set to INFO
log4j: Class name: [org.apache.log4j.ConsoleAppender]
log4j: Setting property [target] to [System.out].
log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
log4j: Setting property [conversionPattern] to [%n%-5p:%m %n==> %l%n].
从日志中就能详细指导log4j具体是加载的那个配置文件,找到这个问题后,就好解决啦
最后检查是被一个第三方包里面有一个log4j.xml的配置文件。
在log4j.properties和log4j.xml两个文件都存在的时候,log4j框架默认先找log4.xml文件。
怎么确认自己的log4j配置文件时候被第三方包覆盖呢?
可以通过在java命令中添加
-Dlog4j.debug虚拟机参数来显示log4j加载配置文件的位置。
打印结果如下:
log4j: Trying to find [log4j.xml] using context classloader ContextLoader@client-sso.
log4j: Using URL [jar:file:/F:/maven_dir/com/baidu/unionlogin/1.0/unionlogin-1.0-baidu.jar!/log4j.xml] for automatic log4j configuration.
log4j: Preferred configurator class: org.apache.log4j.xml.DOMConfigurator
log4j: System property is :null
log4j: Standard DocumentBuilderFactory search succeded.
log4j: DocumentBuilderFactory is: com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
log4j: debug attribute= "null".
log4j: Ignoring debug attribute.
log4j: reset attribute= "false".
log4j: Threshold ="null".
log4j: Level value for root is [info].
log4j: root level set to INFO
log4j: Class name: [org.apache.log4j.ConsoleAppender]
log4j: Setting property [target] to [System.out].
log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
log4j: Setting property [conversionPattern] to [%n%-5p:%m %n==> %l%n].
从日志中就能详细指导log4j具体是加载的那个配置文件,找到这个问题后,就好解决啦
相关文章推荐
- log4j用properties文件配置,无法应用过滤器的解决方法
- log4j用properties文件配置,无法应用过滤器的解决方法
- VSCode配置文件“.vscode/c_cpp_properties.json”不断被覆盖的原因及解决方法
- java读取.properties配置文件的几种方法操作
- log4j2.xml和log4j.properties的指定配置路径方法
- Maven项目中无法找到 xml文件或 properties文件等配置文件的解决方法
- Maven项目中无法找到 xml文件或 properties文件等配置文件的解决方法
- Maven项目中无法找到 xml文件或 properties文件等配置文件的解决方法
- Maven项目中无法找到 xml文件或 properties文件等配置文件的解决方法
- Maven项目中无法找到 xml文件或 properties文件等配置文件的解决方法
- Maven项目中无法找到 xml文件或 properties文件等配置文件的解决方法
- Maven项目中无法找到 xml文件或 properties文件等配置文件的解决方法
- Maven项目中无法找到 xml文件或 properties文件等配置文件的解决方法
- Maven项目中无法找到 xml文件或 properties文件等配置文件的解决方法
- Maven项目中无法找到 xml文件或 properties文件等配置文件的解决方法
- log4j配置日志文件log4j.appender.X.File相对路径方法
- log4j.properties 日志文件的详细配置说明
- spring加载一个或者多个properties配置文件方法
- spark加载properties配置文件方法
- log4j.properties文件的配置与使用