【问题标题】:JCA (Resource Adapter) logging not working on Weblogic 12.2.1.2JCA(资源适配器)日志记录在 Weblogic 12.2.1.2 上不起作用
【发布时间】:2019-03-15 06:02:54
【问题描述】:

我正在尝试解决与从出站资源适配器进行日志记录相关的问题。

它运行在 Weblogic 12.2.1.2 上,并按照Oracle J2EE guide 编写。

我已经按照Oracle documentation 设置了日志记录描述符,当我部署它时,weblogic 在我提供的描述符位置创建了一个新的空日志文件(如预期的那样)。

我已深入遵循指南Writing Messages to the WebLogic Server Log。我尝试使用 java.util.loggingmock JARNonCatalogLoggerslf4j 所以,所有日志消息都打印到 NonCatalogLogger em>console 并进入 域日志文件,但 NOT 进入我配置的日志文件。

谁能告诉我为什么?

非常感谢!

【问题讨论】:

  • 为什么在没有有效书面理由的情况下投反对票?!
  • 投反对票的一些可能原因:[1] 您的问题可能属于此类离题问题:"Questions on professional server, networking, or related infrastructure administration are off-topic for Stack Overflow unless they directly involve programming or programming tools"。 [2] 如果您的问题与您的代码中的日志记录有关(我不清楚),请显示您的代码。 [3] 你的问题太抽象了。您声称您已正确配置所有内容,但您没有显示您的配置,而是链接到网络上的文章。
  • 所有信息在我的帖子中都有很好的解释。这绝对是与软件相关的问题,但由 Weblogic 的错误配置或错误引起,因此任何了解此类问题的人都不需要任何代码片段。通常,当我对此类论点不胜任时,我只是不回答该主题,而不是投反对票。问候。
  • 如果问题是“由 Weblogic 的错误配置或错误引起的”,无论您的问题写得如何,这显然都不是 Stack Overflow 的主题,因此反对票是合法的。见What topics can I ask about here?
  • 我不同意你的观点,错误配置或错误与开发阻塞问题密切相关!

标签: logging jakarta-ee slf4j weblogic12c jca


【解决方案1】:

不幸的是,我无法让 weblogic 正常工作,所以我不得不寻找替代方案。

这是我基于Logback 的解决方案。

pom.xml

<properties>
    <logback.version>1.2.3</logback.version> <!-- Depends on slf4j 1.7.25, conflicting with Weblogic 12.2.1.2 -->
    <slf4j.version>1.7.5</slf4j.version> <!-- Shipped with Weblogic 12.2.1.2 -->

    <adapter.config.file>/etc/logback-my-resource-adapter.xml</adapter.config.file>
</properties>

<dependencies>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.version}</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>${logback.version}</version>
    </dependency>
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-core</artifactId>
        <version>${logback.version}</version>
    </dependency>
</dependencies>

LoggerHelper.java

package it.sisal.betting.sdg.adapter.sogei.logging;

import ch.qos.logback.classic.LoggerContext;
import ch.qos.logback.classic.util.ContextInitializer;
import org.slf4j.ILoggerFactory;

    public class LoggerHelper {

        static {
            // https://logback.qos.ch/manual/configuration.html

            System.setProperty(ContextInitializer.CONFIG_FILE_PROPERTY, "${adapter.config.file}");
        }

    public static final ILoggerFactory FACTORY = StaticLoggerBinderHack
        .getSingleton()
        .getLoggerFactory()
    ;

    public static LoggerContext CONTEXT = (LoggerContext)FACTORY;

}

MyResourceAdapter.java

public class MyResourceAdapter implements ResourceAdapter, Serializable {

    private static final Logger logger = LoggerHelper
        .FACTORY
        .getLogger(MyResourceAdapter.class)
    ;

    private BootstrapContext context = null;

    @Override
    public void start(BootstrapContext context) 
        throws ResourceAdapterInternalException 
    {            
        if (logger.isInfoEnabled()) {
            logger.info("start(...)");
        } 

        this.context = context;
     }

     // And so on...
}

【讨论】:

    猜你喜欢
    • 2019-10-22
    • 1970-01-01
    • 1970-01-01
    • 2021-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-19
    • 1970-01-01
    相关资源
    最近更新 更多