0

在这里,我使用 Weblogic 12c Server 来部署我的 Web 应用程序。在我的应用程序中,我使用 OCI JAVA SDK 与 Oracle 云基础设施 (OCI) 服务进行交互。根据 OCI 的文档,“OCI JAVA SDK”正在使用 SLF4J 日志记录。这样我就在我的 ear 文件中捆绑了“slf4j-jdk14-1.7.23.jar”JAR 文件。我仍然无法在 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 生成的日志语句。

我是否缺少任何特定配置?

4

1 回答 1

1

不幸的是,我对 Weblogic 没有任何经验,但我尝试从命令行配置“JDK14”风格的日志记录,希望对您有所帮助。

例如,我正在使用PaginationExample.java,它位于您可以从发布页面examples下载的文件目录中。oci-java-sdk.zip

我已经解压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级别(DEBUG在 slf4j 术语中)都进入控制台和文件。

这适用于命令行。听起来 WebLogic 正在使用 JDK14java.util.logging框架,我们需要 slf4j 来支持它。你已经在做这里推荐的事情了。

由于上述配置适用于控制台和文件,我想知道[服务器日志桥](https://docs.oracle.com/middleware/1212/wls/WLLOG/logging_services.htm#WLLOG200 )是否未配置正确。

这个页面似乎描述了如何做到这一点: http: //buttso.blogspot.com/2011/06/using-slf4j-with-weblogic-server.html

于 2018-05-29T23:49:33.263 回答