Как записать журналы OCI JAVA SDK в файлы журналов Weblogic Server - PullRequest
0 голосов
/ 28 мая 2018

Здесь я использую Weblogic 12c Server для развертывания моего веб-приложения.В своем приложении я использую OCI JAVA SDK для взаимодействия со службой Oracle Cloud Infrastructure (OCI).Согласно документации OCI, "OCI JAVA SDK" использует протоколирование SLF4J.Так что я вложил файл JAR "slf4j-jdk14-1.7.23.jar" в мой файл ear.Тем не менее, я не смог увидеть созданные журналы OCI SDK в файлах журналов weblogic.

Я также добавил следующие записи в файл 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» не найден, ошибки устранены.Но по-прежнему не удается увидеть сгенерированные SDK операторы журнала в файлах журналов weblogic.

Я что-то упустил из-за определенной конфигурации?

1 Ответ

0 голосов
/ 30 мая 2018

К сожалению, у меня нет опыта работы с 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 (который в терминологии slf4j DEBUG) идет как на консоль, так и нафайл.

Это работает в командной строке.Похоже, что WebLogic использует фреймворк JDK14 java.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

...