我在OSB11g中正确实现NTLM身份验证中的日志记录时遇到问题。我的情况是这样的:
在OSB中有javaCallout,它负责通过NTLM身份验证(使用Apache实现)调用WS。我也想为特定文件添加一些更高的日志记录级别。当我附加log4j.properties时:
log4j.rootLogger=DEBUG, file
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File=/logs/NTLM-logs.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%5p [%c] %m%n
log4j.logger.org.apache.http=DEBUG
log4j.logger.org.apache.http.wire=DEBUG
log4j.logger.org.apache.http.impl.conn=DEBUG
log4j.logger.org.apache.http.impl.client=DEBUG
log4j.logger.org.apache.http.client=DEBUG
,当我调用使用javaCallout的代理时,正在创建文件/logs/NTLM-logs.log,但其中没有内容(0字节)。看来OSB引擎有更重要的文件负责“ org.apache。*”的loggingLevel。
另外,当我仅将参数添加到域启动脚本时:
-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog
-Dorg.apache.commons.logging.simplelog.showdatetime=true
-Dorg.apache.commons.logging.simplelog.log.org.apache.http=DEBUG
-Dorg.apache.commons.logging.simplelog.log.org.apache.http.wire=ERROR
我在server.out文件中看到结果。感谢您对如何使用OSB javaCallout中的log4j更改org.apache logLevels并打印到特定文件的任何想法。