如何使用AWS Java SDK禁用请求级日志记录?
我试图在Linux上使用Tomcat 8禁用AWS Java SDK的请求级日志记录。这是一个新安装的tomcat8,我的测试servlet(工作正常)只打印到标准输出,默认情况下,标准输出到如何使用AWS Java SDK禁用请求级日志记录?,java,tomcat,amazon-web-services,logging,aws-sdk,Java,Tomcat,Amazon Web Services,Logging,Aws Sdk,我试图在Linux上使用Tomcat 8禁用AWS Java SDK的请求级日志记录。这是一个新安装的tomcat8,我的测试servlet(工作正常)只打印到标准输出,默认情况下,标准输出到/var/log/tomcat8/catalina.out 我想通过AWS SDK禁用请求级日志记录,如-发送请求…,因此我尝试在/usr/share/tomcat8/conf/logging.properties中将以下内容添加到我的日志记录配置中: log4j.logger.com.amazonaws
/var/log/tomcat8/catalina.out
我想通过AWS SDK禁用请求级日志记录,如-发送请求…
,因此我尝试在/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
还有什么我需要做的吗?“logging.properties”是Java Util logging(JUL)的配置文件,它是与Log4J不同的框架。您可以尝试在类路径的根目录中创建一个Log4J配置文件“Log4J.properties”,并插入上面的代码:“Log4J.logger.com.amazonaws=WARN”。
也许我应该更清楚:不需要log4j来控制SDK中的日志记录。SDK使用ApacheCommons日志记录,正如我已经提到的,这是一个行业标准。Commons日志只是底层日志实现的调度层,因此客户可以插入任何兼容的日志框架并使其工作。我在示例中使用了log4j,因为它是最常用的,因此在这个公共论坛中最有可能有用
如果您的日志系统使用Commons日志,那么您已经知道如何配置它。如果没有,那么可以通过向JVM传递适当的命令行参数来完全关闭Commons日志记录,如我上面的响应所示。如果由于某种原因无法更改应用程序的java命令行,则可以在主类中使用以下代码段,效果相同:
static {
System.setProperty("org.apache.commons.logging.Log",
"org.apache.commons.logging.impl.NoOpLog");
}
再说一次,非常清楚:SDK不需要log4j。不幸的是,由于所有底层日志实现的配置都不同,这意味着我们无法确切地告诉您如何配置日志,除非我们知道您的应用程序使用哪个实现。因此,我们在示例中经常使用log4j语法
有关Apache Commons日志如何工作以及如何配置日志的更多信息,请阅读:
我也遇到了同样的问题,但上述问题实际上都没有帮助
创建logback.xml并将其放在类路径上,下面的配置修复了它:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<logger name="org.apache" level="ERROR" />
<logger name="httpclient" level="ERROR" />
</configuration>
希望它能帮助其他人。如果您使用的是Logback,而不是Log4J或Java14日志,请将以下内容放在Logback.xml中:
<configuration>
...
<logger name="org.apache.http.wire" level="WARN"/>
<logger name="com.amazonaws" level="WARN"/>
...
或者如果你不是
-Dlogback.configurationFile=file:///C:/logbacs/logback.xml
有配置log4j的文档。您还必须设置log4j.logger.org.apache.http.wire=WARN
。
-Dlogback.configurationFile=file:///C:/logbacs/logback.xml