Logging JCA(资源适配器)日志记录在Weblogic 12.2.1.2上不起作用
我试图解决一个与从出站资源适配器进行日志记录相关的问题 它在Weblogic 12.2.1.2上运行,并按照以下内容编写 我已经按照设置了日志描述符,当我部署它时,weblogic会在描述符提供的位置创建一个新的空日志文件(如预期的) 我深深地遵循了指南。我尝试了使用java.util.logging,和slf4j的非编录记录器,因此,所有日志消息都会打印到控制台和域日志文件中,但不会打印到我配置的日志文件中 有人能告诉我为什么吗Logging JCA(资源适配器)日志记录在Weblogic 12.2.1.2上不起作用,logging,jakarta-ee,slf4j,weblogic12c,jca,Logging,Jakarta Ee,Slf4j,Weblogic12c,Jca,我试图解决一个与从出站资源适配器进行日志记录相关的问题 它在Weblogic 12.2.1.2上运行,并按照以下内容编写 我已经按照设置了日志描述符,当我部署它时,weblogic会在描述符提供的位置创建一个新的空日志文件(如预期的) 我深深地遵循了指南。我尝试了使用java.util.logging,和slf4j的非编录记录器,因此,所有日志消息都会打印到控制台和域日志文件中,但不会打印到我配置的日志文件中 有人能告诉我为什么吗 非常感谢你 不幸的是,我无法让weblogic正常工作,所以我必
非常感谢你 不幸的是,我无法让weblogic正常工作,所以我必须找到一个替代方案 这是我基于的解决方案 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>
MyResourceAdapter.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;
}
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...
}
为什么在没有有效书面理由的情况下否决投票?!否决票的一些可能原因:[1]您的问题可能属于这类离题问题:。[2] 如果您的问题与从代码登录有关(我不清楚),请显示您的代码。[3] 你的问题太抽象了。你声称你所有的配置都正确,但是你没有显示你的配置,而是链接到网上的文章。所有的信息在我的帖子中都有很好的解释。这绝对是一个与软件相关的问题,但由错误配置或Weblogic的错误引起,因此任何了解此类问题的人都不需要任何代码片段。通常,当我不能胜任这些论点时,我只是不回答这个问题,而是投反对票。注意。如果问题是“由错误配置或Weblogic错误引起的”,那么无论您的问题写得如何,堆栈溢出显然是离题的,因此否决票是合法的。我不同意你的观点,一个错误的配置或者一个bug与一个开发阻塞问题是严格相关的!