繁体   English   中英

如何使用 AWS Java 开发工具包禁用请求级日志记录?

[英]How to disable request-level logging with the AWS Java SDK?

我正在尝试在 Linux 上使用 Tomcat 8 禁用 AWS Java SDK 的请求级别日志记录。 这是 tomcat 8 的全新安装,我的测试 servlet(有效)只是打印到标准输出,默认情况下会输出到/var/log/tomcat8/catalina.out

我想通过 AWS SDK 禁用请求级别的日志记录,例如- Sending Request... ,所以我尝试在/usr/share/tomcat8/conf/logging.properties将以下内容添加到我的日志记录配置中:

log4j.logger.com.amazonaws = WARN
log4j.logger.org.apache.http.wire = WARN
log4j.logger.com.amazonaws.request = WARN

...就像文档在这里所说的那样,但它仍在进行详细的日志记录。 我的tomcat启动信息显示正在使用logging.properties文件:

org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/usr/share/tomcat8/conf/logging.properties  

还有什么我需要做的吗?

我有同样的问题,以上都没有实际帮助。

创建一个 logback.xml 并将其放在类路径中,并使用以下配置修复它:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <logger name="org.apache" level="ERROR" />
    <logger name="httpclient" level="ERROR" />
</configuration>

希望它可以帮助其他人。

“logging.properties”是 Java Util Logging (JUL) 的配置文件,它是一个与 Log4J 不同的框架。 您可以尝试在类路径的根目录中创建一个 Log4J 配置文件“ log4j.properties ”,然后插入上面的代码:“log4j.logger.com.amazonaws = WARN”。

马克

也许我应该更清楚一点:不需要 log4j 来控制 SDK 中的日志记录。 SDK 使用 Apache Commons Logging,正如我已经提到的,这是一个行业标准。 Commons Logging 只是底层日志实现的调度层,因此客户可以插入任何兼容的日志框架并使其工作。 我在示例中使用了 log4j,因为它是最常用的一种,因此在这个公共论坛中最有可能提供帮助。

如果您的日志系统与 Commons Logging 一起使用,那么您已经知道如何配置它。 如果没有,请随意通过将适当的命令行参数传递给您的 JVM 来完全关闭 Commons Logging,就像我在上面的响应中一样。 如果由于某种原因您无法更改应用程序的 java 命令行,那么您可以在 Main 类中使用以下代码段,以达到相同的效果:

static {
      System.setProperty("org.apache.commons.logging.Log",
                         "org.apache.commons.logging.impl.NoOpLog");
   }

同样,绝对清楚:SDK 不需要 log4j。 不幸的是,由于所有底层日志实现的配置不同,这意味着除非我们知道您的应用程序使用哪种实现,否则我们无法准确地告诉您如何配置日志记录。 因此,我们经常在示例中使用 log4j 语法。

有关 Apache Commons Logging 如何工作以及如何配置它的更多信息,请阅读:

http://commons.apache.org/logging/guide.html

如果您使用的是 Logback,而不是 Log4J 或 Java14 日志记录,请将以下内容放入 logback.xml:

<configuration>
    ...

    <logger name="org.apache.http.wire" level="WARN"/>
    <logger name="com.amazonaws" level="WARN"/>
    ...    

指定外部 logback.xml 并使用 Spring Boot

-Dlogging.config="C:\logback\logback.xml"

或者如果你不是

-Dlogback.configurationFile=file:///C:/logback/logback.xml

通过 jvm 参数进行 logback 配置

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM