Log4j 限制Spring集成中jsch的输出

Log4j 限制Spring集成中jsch的输出,log4j,spring-integration,slf4j,jsch,Log4j,Spring Integration,Slf4j,Jsch,我试图限制Spring Boot应用程序中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 尽管如此,我还是从那个包

我试图限制Spring Boot应用程序中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
尽管如此,我还是从那个包里收到了很多信息级的信息。。。我希望它能过滤掉。 我遵循了本文底部的简短描述

有人知道为什么我仍然收到来自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
以了解正在使用哪个文件(以及如何为每个类别设置级别)。

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

  • 从我的启动程序中排除logback classic。因为Spring启动依赖于Apache commons日志和logback。在gradle中,它看起来是这样的:

    compile(“org.springframework.boot:springbootstarterintegration”)
    {
    排除模块:“logback classic”
    }

  • 将依赖项添加到我选择的日志库log4j:

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

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

    
    log4j.debug=true
    log4j.rootLogger=info,标准输出,文件
    log4j.category.com.jcraft.jsch=WARN
    log4j.category.org.springframework.integration.file=info

    log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.patternalyout log4j.appender.stdout.layout.ConversionPattern=%d{yyyyy-MM-dd HH:MM:ss}%-5p%c{1}:%L-%m%n

    log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.file=C:\log4j-application.log log4j.appender.file.MaxFileSize=5MB log4j.appender.file.MaxBackupIndex=10 log4j.appender.file.layout=org.apache.log4j.patternalyout log4j.appender.file.layout.ConversionPattern=%d{yyyyy-MM-dd HH:MM:ss}%-5p%c{1}:%L-%m%n


  • 您只需将
    logging.level.com.jcraft.jsch=WARN
    添加到您的
    application.properties
    。请参阅。

    此答案适用于最新版本的Spring Boot+Spring Integration。