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

时间:2018-01-22 17:30:49

标签: java spring-boot soap cxf slf4j

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

我已经检查了herethere,但我没有得到它,似乎解决方案不适合我的代码。我不知道在哪里放置给出的代码片段,我没有使用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 Boot入口点:

@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服务器的日志记录级别?

1 个答案:

答案 0 :(得分:2)

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

logging.level.root=DEBUG

有关Spring Boot日志记录的更多信息,请访问here