我们正在使用spymemcached memcached客户端,但我们没有发现如何禁用日志记录系统。
我们如何在运行时将当前的日志记录系统更改为log4j或sl4j?
注意:我们可以传递一些VM参数,但问题是:我们无法更改服务器配置。是否可以在运行时传递这些VM参数?如果可能的话,我们怎么能这样做?
答案 0 :(得分:7)
通过在创建catalina.out
对象之前执行此操作,我停止了过多的Tomcat记录到MemcachedClient
:
System.setProperty("net.spy.log.LoggerImpl",
"net.spy.memcached.compat.log.SunLogger");
Logger.getLogger("net.spy.memcached").setLevel(Level.WARNING);
答案 1 :(得分:2)
我知道这是一个老问题,这个解决方案在运行时不起作用,但我遇到了类似的问题,只发现了这个问题。您可以通过tomcat配置文件here找到设置spymemcached日志记录级别的方法。
重要部分:
简要总结如何使spymemcached更加安静:
将以下内容添加到$CATALINA_HOME/bin/catalina.sh
:
CATALINA_OPTS="-Dnet.spy.log.LoggerImpl=net.spy.memcached.compat.log.SunLogger"
将其添加到$CATALINA_HOME/conf/logging.properties
:
(可以使用SEVERE,WARNING,INFO,CONFIG,FINE,FINER,FINEST或ALL设置处理程序的日志级别阈值)
net.spy.memcached.level = WARNING
仅使MemcachedConnection更简洁:
net.spy.memcached.MemcachedConnection.level = WARNING