使用 Spring Boot 更改生成的 CXF 服务器的日志级别

Change log level of generated CXF server with Spring Boot

我已经使用 wsdl2java 生成了一个 CXF 服务器,但由于外部原因,我遇到了生成的 Web 服务的问题。为了正确调试它,我想将此 CXF 服务器的日志级别从默认更改为 非常 详细(DEBUG?)。

我已经检查过 here and there,但我不明白,似乎解决方案不适合我的代码。我不知道把给定的代码放在哪里,我也没有用 XML 文件配置我的 Spring 应用程序。

这里是 wsdl2java 生成的 ValidationPort_BasicHttpBindingValidation_Server:

// I have edited this WS a little to run it with spring instead of a main.
@Component
@Slf4j
public class ValidationPort_BasicHttpBindingValidation_Server {
    public final static String ADDRESS = "http://localhost/PRE-VAROTH/Validation/V1";

    protected ValidationPort_BasicHttpBindingValidation_Server() {
        log.info("Starting Server");
        Endpoint.publish(ADDRESS, new BasicHttpBinding_ValidationImpl());
    }
}

我的日志记录框架是 Slf4j,我希望将日志传递给该框架。我想我可以让这部分工作,但是当我启动我的服务器并尝试一个示例 SOAP 请求时,我在日志或控制台上看不到任何东西...

这是我的 Spring 引导入口点:

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

    @Value("${server.http.port}")
    private int serverPortHttp;

    @Value("${server.port}")
    private int serverPortHttps;

    private Connector createHttpConnector() {
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setScheme("http");
        connector.setSecure(false);
        connector.setPort(serverPortHttp);
        connector.setRedirectPort(serverPortHttps);
        return connector;
    }
}

我应该如何正确更改此 CXF 服务器的日志记录级别?

默认情况下,Spring Boot 将日志记录配置为在 INFO 级别记录到控制台。要将日志记录级别设置为 DEBUG,您应该在 application.properties 中创建前缀为 [=23 的属性=]:

logging.level.root=DEBUG

有关 Spring 引导日志记录的更多信息,请参见 here