如何将OCI JAVA SDK日志写入Weblogic Server日志文件

时间:2018-05-28 09:14:35

标签: java weblogic oracle-cloud-infrastructure oci-java-sdk

这里我使用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生成的日志语句。

我错过了任何具体的配置吗?

1 个答案:

答案 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

相关问题