这里我使用Weblogic 12c Server来部署我的Web应用程序。在我的应用程序中,我使用OCI JAVA SDK与Oracle云基础架构(OCI)服务进行交互。根据OCI的文档,“OCI JAVA SDK”正在使用SLF4J日志记录。所以我把“slf4j-jdk14-1.7.23.jar”JAR文件捆绑在我的ear文件中。我仍然无法在weblogic日志文件中看到OCI SDK生成的日志。
我在weblogic-application.xml中添加了以下条目:
<prefer-application-packages>
<package-name>org.slf4j.*</package-name>
</prefer-application-packages>
<!-- if not using prefer-application-resources you will get a warning like this: -->
<!-- Class path contains multiple SLF4J bindings -->
<!-- SLF4J: Found binding in [jar:file:/C:/wls1211/modules/org.slf4j.jdk14_1.6.1.0.jar!/org/slf4j/impl/StaticLoggerBinder.class] -->
<prefer-application-resources>
<resource-name>org/slf4j/impl/StaticLoggerBinder.class</resource-name>
</prefer-application-resources>
添加上述条目后,“StaticLoggerBinder”类未找到错误已解决。但仍然无法在weblogic日志文件中看到SDK生成的日志语句。
我错过了任何具体的配置吗?
答案 0 :(得分:1)
不幸的是,我对Weblogic没有任何经验,但我尝试从命令行配置“JDK14”式日志,希望它能帮到你。
例如,我正在使用PaginationExample.java,它位于examples
文件的oci-java-sdk.zip
目录中,您可以从releases page下载。
我已将oci-java-sdk.zip
文件解压缩,更改为examples
目录并编译PaginationExample.java
文件:
cd oci-java-sdk/examples
javac -cp "../lib/oci-java-sdk-full-1.2.38.jar:../third-party/lib/*" PaginationExample.java
现在我在当前目录中有一个PaginationExample.class
文件。
我还下载了slf4j-1.7.23.zip文件并将其解压缩。对我来说,JDK日志记录桥文件是../../slf4j-1.7.23/slf4j-jdk14-1.7.23.jar
。
我现在可以编写logging.properties
文件来配置JDK14日志记录,例如:
handlers = java.util.logging.FileHandler, java.util.logging.ConsoleHandler
.level = FINE
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.FileHandler.level = FINE
java.util.logging.FileHandler.pattern = java%u.log
java.util.logging.FileHandler.limit = 50000
java.util.logging.FileHandler.count = 1
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.SimpleFormatter.format=%4$s [%1$tc]: %5$s%n
现在我可以使用以下命令运行示例:
java -Djava.util.logging.config.file=logging.properties -cp ../lib/oci-java-sdk-full-1.2.38.jar:../third-party/lib/*:../../slf4j-1.7.23/slf4j-jdk14-1.7.23.jar:. PaginationExample <tenancy ocid>
使用上面的logging.properties
文件,输出,低至FINE
级别(在slf4j术语中为DEBUG
)同时转到控制台和文件。
这适用于命令行。听起来WebLogic正在使用JDK14 java.util.logging
框架,我们需要让slf4j加入其中。您已经在做了here推荐的内容。
由于以上配置适用于控制台和文件,我想知道[服务器日志记录桥]是否https://docs.oracle.com/middleware/1212/wls/WLLOG/logging_services.htm#WLLOG200 )配置不正确。
此页面似乎描述了如何执行此操作:http://buttso.blogspot.com/2011/06/using-slf4j-with-weblogic-server.html