最近遇到一个问题,ERA应用部署在weblogic上,在project/WEB-INF/classes下的log4j.propties总是出现有时候可以正常加载,有时候却不能正常加载。
在不能正常加载的时候,报告如下警告信息:
log4j:WARN No appenders could be found for logger (com.jl.yyi.web.filter.F00yyi001Filter).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
经过查看log4j的源码发现,其实log4j自己的API里的日志是通过System.out.print的方式输出到标准输出的,具体参考org.apache.log4j.helpers.LogLog这个类。
那么如何将log4j自己的log输出来呢,通过读LogLog这个类的源码知道这需要在系统属性里配置log4j.debug=true这个参数,因此,在D:\Oracle\Middleware\user_projects\domains\log4j_test_domain\bin\setDomainEnv.cmd这个脚本里修改
set JAVA_PROPERTIES=%JAVA_PROPERTIES% %EXTRA_JAVA_PROPERTIES%
为:
set JAVA_PROPERTIES=%JAVA_PROPERTIES% %EXTRA_JAVA_PROPERTIES% -Dlog4j.debug=true
重新启动weblogic,访问作业画面,得到如下详细信息:
log4j: Trying to find [log4j.xml] using context classloader weblogic.utils.classloaders.ChangeAwareClassLoader@21aa5a31 finder: weblogic.utils.classloaders.CodeGenClassFinder@2b5229f4 annotation: jlerp_f@f.
log4j: Trying to find [log4j.xml] using weblogic.utils.classloaders.ChangeAwareClassLoader@21aa5a31 finder: weblogic.utils.classloaders.CodeGenClassFinder@2b5229f4 annotation: jlerp_f@f class loader.
log4j: Trying to find [log4j.xml] using ClassLoader.getSystemResource().
log4j: Trying to find [log4j.properties] using context classloader weblogic.utils.classloaders.ChangeAwareClassLoader@21aa5a31 finder: weblogic.utils.classloaders.CodeGenClassFinder@2b5229f4 annotation: jlerp_f@f.
log4j: Using URL [zip:/usr/oracle/Middleware/user_projects/domains/erp_domain/servers/F321/tmp/_WL_user/jlerp_f/e0br6s/war/WEB-INF/lib/_wl_cls_gen.jar!/log4j.properties] for automatic log4j configuration.
log4j: Reading configuration from URL zip:/usr/oracle/Middleware/user_projects/domains/erp_domain/servers/F321/tmp/_WL_user/jlerp_f/e0br6s/war/WEB-INF/lib/_wl_cls_gen.jar!/log4j.properties
log4j: Parsing for [root] with value=[DEBUG, f_logout,f_mail_logout,developement_logout].
log4j: Level token is [DEBUG].
log4j: Category root set to DEBUG
log4j: Parsing appender named "f_logout".
log4j: Parsing layout options for "f_logout".
log4j: Setting property [conversionPattern] to [%X{mgdSvrName} | %X{userCode} | %d{yyyy-MM-dd HH:mm:ss} | %l | %p | %m%n].
log4j: End of parsing for "f_logout".
log4j: Setting property [encoding] to [UTF-8].
log4j: Setting property [file] to [/var/ftp/logs/[F321]/f/f.log].
log4j: Setting property [maxBackupIndex] to [50].
log4j: Setting property [append] to [true].
log4j: Setting property [maxFileSize] to [5120KB].
log4j: setFile called: /var/ftp/logs/[F321]/f/f.log, true
log4j: setFile ended
log4j: Parsed "f_logout" options.
log4j: Parsing appender named "f_mail_logout".
log4j: Parsing layout options for "f_mail_logout".
log4j: Setting property [conversionPattern] to [%X{mgdSvrName} | %X{userCode} | %d{yyyy-MM-dd HH:mm:ss} | %l | %p | %m%n].
log4j: End of parsing for "f_mail_logout".
log4j: Setting property [SMTPHost] to [mail.ejianlong.com].
log4j: Setting property [from] to [jlerp@ejianlong.com].
log4j: Setting property [SMTPPassword] to [11111sss].
log4j: Setting property [threshold] to [ERROR].
log4j: Setting property [subject] to [Test1 JLerp ErrorMessage[f]].
log4j: Setting property [to] to [wushaofeng@ejianlong.com].
log4j: Setting property [SMTPUsername] to [jlerp].
log4j: Setting property [bufferSize] to [512].
log4j: Parsed "f_mail_logout" options.
log4j: Parsing appender named "developement_logout".
log4j: Parsing layout options for "developement_logout".
log4j: Setting property [conversionPattern] to [[%p] [%l] %10.10c - %m%n].
log4j: End of parsing for "developement_logout".
log4j: Parsed "developement_logout" options.
log4j: Parsing for [com.jl.ft] with value=[DEBUG, ft_logout,ft_mail_logout].
log4j: Level token is [DEBUG].
log4j: Category com.jl.ft set to DEBUG
[oracle@testerp1s2 logs]$ tail -f F321.out
余玲(100578)财务管理组(财务系统建设项目组)(S400)
1111111111111
555555555555555555555===========null
初始化财务公司下拉选单
[DEBUG] [com.jl.yyi.service.F00yyi001ServiceImpl.getAllCompany(F00yyi001ServiceImpl.java:746)] erviceImpl - >> getAllCompany()
[DEBUG] [com.jl.yyi.service.F00yyi001ServiceImpl.getAllCompany(F00yyi001ServiceImpl.java:779)] erviceImpl - << getAllCompany()-[建龙集团][扬帆集团][天津市捷威动力工业有限公司][扬帆总部][四川川锅锅炉有限责任公司][浙江扬帆船舶配件制造有限公司][浙江扬帆通用机械制造有限公司][舟山永锦船舶配件制造有限公司][舟山扬帆实业有限公司][舟山船厂][舟山市大神洲船舶修造有限公司][浙江东海岸船业有限公司][海之帆][扬帆集团上海船舶技术有限公司][青岛扬帆船舶制造有限公司][浙江扬帆管业制造有限公司][威海荣成扬帆船舶制造有限公司][建龙钢铁控股有限公司][一汽凌源汽车车架制造有限公司][唐山建龙机械制造有限公司][香港洪祥航运有限公司][香港洪祥航运(控股)有限公司][上海洪祥船舶管理有限公司][北京金建龙化工技术有限公司][北京蒂本斯工程技术有限公司][北京华创精英自动化技术有限公司][北京华创杭氧集散控制系统有限公司][哈尔滨嘉天房地产开发股份有限公司][浙江建龙控股集团][吉林市建龙房地产开发有限责任公司][吉林建龙物业管理有限责任公司][长春天通房地产开发有限公司]
[DEBUG] [com.jl.yyi.service.F00yyi001ServiceImpl.getAllCompany(F00yyi001ServiceImpl.java:746)] erviceImpl - >> getAllCompany()
[DEBUG] [com.jl.yyi.service.F00yyi001ServiceImpl.getAllCompany(F00yyi001ServiceImpl.java:779)] erviceImpl - << getAllCompany()-[建龙集团][扬帆集团][天津市捷威动力工业有限公司][扬帆总部][四川川锅锅炉有限责任公司][浙江扬帆船舶配件制造有限公司][浙江扬帆通用机械制造有限公司][舟山永锦船舶配件制造有限公司][舟山扬帆实业有限公司][舟山船厂][舟山市大神洲船舶修造有限公司][浙江东海岸船业有限公司][海之帆][扬帆集团上海船舶技术有限公司][青岛扬帆船舶制造有限公司][浙江扬帆管业制造有限公司][威海荣成扬帆船舶制造有限公司][建龙钢铁控股有限公司][一汽凌源汽车车架制造有限公司][唐山建龙机械制造有限公司][香港洪祥航运有限公司][香港洪祥航运(控股)有限公司][上海洪祥船舶管理有限公司][北京金建龙化工技术有限公司][北京蒂本斯工程技术有限公司][北京华创精英自动化技术有限公司][北京华创杭氧集散控制系统有限公司][哈尔滨嘉天房地产开发股份有限公司][浙江建龙控股集团][吉林市建龙房地产开发有限责任公司][吉林建龙物业管理有限责任公司][长春天通房地产开发有限公司]
[DEBUG] [com.jl.yyi.service.F00yyi001ServiceImpl.getAllCompany(F00yyi001ServiceImpl.java:746)] erviceImpl - >> getAllCompany()
[DEBUG] [com.jl.yyi.service.F00yyi001ServiceImpl.getAllCompany(F00yyi001ServiceImpl.java:779)] erviceImpl - << getAllCompany()-[建龙集团][扬帆集团][天津市捷威动力工业有限公司][扬帆总部][四川川锅锅炉有限责任公司][浙江扬帆船舶配件制造有限公司][浙江扬帆通用机械制造有限公司][舟山永锦船舶配件制造有限公司][舟山扬帆实业有限公司][舟山船厂][舟山市大神洲船舶修造有限公司][浙江东海岸船业有限公司][海之帆][扬帆集团上海船舶技术有限公司][青岛扬帆船舶制造有限公司][浙江扬帆管业制造有限公司][威海荣成扬帆船舶制造有限公司][建龙钢铁控股有限公司][一汽凌源汽车车架制造有限公司][唐山建龙机械制造有限公司][香港洪祥航运有限公司][香港洪祥航运(控股)有限公司][上海洪祥船舶管理有限公司][北京金建龙化工技术有限公司][北京蒂本斯工程技术有限公司][北京华创精英自动化技术有限公司][北京华创杭氧集散控制系统有限公司][哈尔滨嘉天房地产开发股份有限公司][浙江建龙控股集团][吉林市建龙房地产开发有限责任公司][吉林建龙物业管理有限责任公司][长春天通房地产开发有限公司]
从这个日志就可以很清楚的看到log4j的配置文件的加载过程...,如果再出现加载不到的情况,可以从这个日志来分析了...
分享到:
相关推荐
赠送原API文档:apache-log4j-extras-1.2.17-javadoc.jar; 赠送Maven依赖信息文件:apache-log4j-extras-1.2.17.pom; 包含翻译后的API文档:apache-log4j-extras-1.2.17-javadoc-API文档-中文(简体)版.zip; Maven...
**log4j-core-2.12.4.jar** 则是Log4j 2的核心实现模块,它实现了API模块中定义的接口,并负责实际的日志记录工作,包括日志事件的处理、输出格式化、日志存储以及性能优化等功能。此外,核心模块还包含了一些附加...
Maven坐标:org.apache.logging.log4j:log4j-api:2.12.1; 标签:apache、logging、log4j、api、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性...
6. **配置文件**:Log4j通常通过配置文件(如log4j.properties或log4j.xml)来设置其行为,包括定义日志器、appender和layout。 7. **MDC(Mapped Diagnostic Context)和NDC(Nested Diagnostic Context)**:这两...
例如,`org.apache.logging.log4j.core.appender.ConsoleAppender`用于将日志输出到控制台,而`org.apache.logging.log4j.core.layout.PatternLayout`则可以按照自定义的模式格式化日志信息。 Log4j2的亮点之一是其...
Apache Log4j 2.17.2 是一个重要的安全更新版本,主要针对先前发现的严重漏洞进行修复。Log4j 是 Apache 组织开发的一个广泛使用的Java日志框架,它允许开发者在应用程序中实现灵活的日志记录。此次发布的binaries...
3.3.4.jar(Log4j2异步日志的底层实现)、log4j-api-2.19.0.jar(log4j门面)、log4j-core-2.19.0.jar(log4j实现)、log4j-slf4j-impl-2.19.0.jar(SLF4J与Log4j绑定)、slf4j-api-1.7.30.jar(SLF4J门面)、apache-...
Maven坐标:org.apache.logging.log4j:log4j-api:2.17.1; 标签:apache、logging、api、log4j、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性...
Apache log4j2零日漏洞,根据 log4j-2.15.0-rc2 版本编译生成log4j-api-2.15.0.jar 1.解压你的jar jar xvf XXX.jar 2. 删除旧版本jar cd ./BOOT-INF/lib rm -rf log4j-api-*.jar 3. 上传新版本log4j-api-...
apache下载太慢,特搬到国内下载。修复log4j漏洞log4j2下载最新log4j2.16.0下载
Log4j 是一个日志记录框架,Log4j 2 是对 Log4j 的升级,提供了重大改进,超越其前身 Log4j 1.x,并提供许多其它现代功能 ,例如对标记的支持、使用查找的属性替换、lambda 表达式与日志记录时无垃圾等。 Apache ...
Maven坐标:org.apache.logging.log4j:log4j-api:2.12.1; 标签:apache、logging、log4j、api、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 ...
3. **log4j-slf4j-impl.jar**:提供了SLF4J(Simple Logging Facade for Java)到Log4j的绑定,使使用SLF4J API的应用可以方便地切换到Log4j。 4. **其他支持文件**:可能包括配置示例、文档、许可证文件等,帮助...
解决Apache Log4j 远程代码执行漏洞log4j2部分jar,包含log4j-1.2-api-2.15.0.jar,log4j-api-2.15.0.jar,log4j-core-2.15.0.jar,log4j-to-slf4j-2.15.0.jar
Commons Logging 是 Apache 的一个通用日志接口,它提供了一个简单的API,使得开发者能够在不关心具体日志实现的情况下,切换不同的日志框架,如Log4j、Java内置的日志系统等。Commons Logging 1.2 版本的特点有: ...
**Log4j API 下载** Log4j 是一个广泛使用的Java日志框架,它为应用程序提供了灵活的日志记录功能。这个框架允许开发者控制日志信息的输出格式、输出位置以及日志级别,使得调试和故障排查更为高效。本文将详细介绍...
Log4j 是一个帮助开发人员进行日志输出管理的 API 类库。它最重要的特点是可以配置文件灵活地设置日志信息的优先级、日志信息的输出目的地以及日志信息的输出格式。Log4j 除了可以记录程序运行日志信息外,还有一...
Apache Log4j 是一个广泛使用的Java日志框架,它的版本2.8.2是一个重要的更新,提供了许多功能改进和安全修复。这个压缩包文件“apache-log4j-2.8.2-bin.tar”包含了Log4j 2.8.2的二进制发行版,适用于那些希望快速...
Maven坐标:org.apache.logging.log4j:log4j-api:2.7; 标签:apache、logging、api、log4j、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化...
apache-log4j-1.2.15.jar, apache-log4j-extras-1.0.jar, apache-log4j-extras-1.1.jar, apache-log4j.jar, log4j-1.2-api-2.0.2-javadoc.jar, log4j-1.2-api-2.0.2-sources.jar, log4j-1.2-api-2.0.2.jar, log4j-...