tomcat 如何使用AWS Java SDK禁用请求级别日志记录?

alen0pnh  于 2022-11-13  发布在  Java
关注(0)|答案(4)|浏览(130)

我试图通过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

...就像docs say here一样,但它仍然在进行详细的日志记录。我的tomcat启动信息显示logging.properties正在使用www.example.com文件:

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

还有什么需要我做的吗?

5rgfhyps

5rgfhyps1#

“logging.properties“是Java Util Logging(JUL)的配置文件,JUL是与Log4J不同的框架。您可以尝试在 * a类路径的根**中创建Log4J配置文件“log4j.properties”,并插入上面的代码:“警告”。

hgncfbus

hgncfbus2#

按标记
也许我应该说得更清楚些:在SDK中,log4j不是控制日志记录所必需的。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

ttcibm8c

ttcibm8c3#

我也遇到了同样的问题,实际上以上都没有帮助。
创建logback.xml并将其放在具有以下配置的类路径中已修复该问题:

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

希望对其他人有帮助。

yvt65v4c

yvt65v4c4#

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

<configuration>
    ...

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

若要指定外部logback.xml并使用Sping Boot

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

或者如果您不是

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

Logback configuration via jvm argument

相关问题