在 Spring 集成中限制 jsch 的输出

Limit the output of jsch in Spring integration

我试图在我的 Spring 启动应用程序中限制 com.jcraft.jsch 包的输出。我的应用程序使用 Spring Intgration 并有一个 log4j.properties 定义以下日志级别的文件

# Root logger option
log4j.rootLogger=DEBUG
log4j.category.com.jcraft.jsch=ERROR
log4j.category.org.springframework.integration.file=ERROR

而且,我仍然从该包中收到大量 INFO 级别的消息...我希望它能将其过滤掉。 我遵循了此 link

底部的简短描述

任何知道为什么我仍然被通讯淹没的人。来自 jsch 的详细信息?

2015-05-21 11:12:55.750  INFO 10684 --- [ask-scheduler-1] com.jcraft.jsch                          : aes256-cbc is not available.
2015-05-21 11:12:55.750  INFO 10684 --- [ask-scheduler-1] com.jcraft.jsch                          : aes192-cbc is not available.
2015-05-21 11:12:55.750  INFO 10684 --- [ask-scheduler-1] com.jcraft.jsch                          : CheckKexes: diffie-hellman-group14-sha1
2015-05-21 11:12:55.770  INFO 10684 --- [ask-scheduler-1] com.jcraft.jsch                          : SSH_MSG_KEXINIT sent
2015-05-21 11:12:55.770  INFO 10684 --- [ask-scheduler-1] com.jcraft.jsch                          : SSH_MSG_KEXINIT received

我使用 log4j.1.2.17 和 slf4j,我的 log4j.properties 位于 src.main.resources

您可能在类路径上选择了一些其他配置。

运行 和 -Dlog4j.debug=true 找出正在使用的文件(以及如何为每个类别设置级别。

回答我的 onw 问题,我必须执行以下操作:

  1. 从我的启动器中排除 logback classic。因为它 Spring 引导依赖于 Apache commons-logging 和 logback。在 gradle 中看起来像这样:

    compile("org.springframework.boot:spring-boot-starter-integration") { exclude module: "logback-classic" }

  2. 向我选择的日志库 log4j 添加依赖项:

    compile("org.springframework.boot:spring-boot-starter-log4j")

  3. 在 src/main/java/resources/ 中创建一个 log4j.properies 文件,其中我声明 jsch 日志级别应设置为警告。 log4j.category.com.jcraft.jsch=警告

    log4j.debug=真 log4j.rootLogger=信息、标准输出、文件 log4j.category.com.jcraft.jsch=警告 log4j.category.org.springframework.integration.file=信息</p> <p>log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.目标=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n</p> <p>log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.File=C:\log4j-application.log log4j.appender.file.最大文件大小=5MB log4j.appender.file.MaxBackupIndex=10 log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

您只需将 logging.level.com.jcraft.jsch=WARN 添加到您的 application.properties。参见 https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-logging.html#boot-features-custom-log-levels