【问题标题】:spymemcached - is it possible to disable the logging system?spymemcached - 是否可以禁用日志系统?
【发布时间】:2011-02-06 07:02:35
【问题描述】:

我们正在使用 spymemcached memcached 客户端,但我们没有发现如何禁用日志记录系统。

我们如何在运行时将当前的日志系统更改为 log4j 或 sl4j 之类的系统?

注意:我们可以传递一些 VM 参数,但问题是:我们无法更改服务器配置。是否可以在运行时传递这些 VM 参数?如果可能,我们怎么做?

【问题讨论】:

    标签: java logging memcached spymemcached


    【解决方案1】:

    在创建 MemcachedClient 对象之前,我通过执行此操作停止了过多的 Tomcat 日志记录到 catalina.out

    System.setProperty("net.spy.log.LoggerImpl",
      "net.spy.memcached.compat.log.SunLogger");
    Logger.getLogger("net.spy.memcached").setLevel(Level.WARNING);
    

    【讨论】:

    • 嗨,我应该在创建 memcached 客户端的行之前添加这些行还是应该将它们放在哪里?有什么方法可以让我在 glassfish 4.0 中使用 web.xml 完全禁用日志记录,请帮忙。
    • 如果你想完全禁用它,你可以在创建MemcachedClient对象之前将日志级别设置为Level.OFF
    【解决方案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
    

    【讨论】:

    • 把这个放到setenv.sh:L4J_OPTS="-Dnet.spy.log.LoggerImpl=net.spy.memcached.compat.log.Log4JLogger" JVM_OPTS="" CATALINA_OPTS="${JVM_OPTS} ${L4J_OPTS}"
    猜你喜欢
    • 1970-01-01
    • 2011-01-08
    • 1970-01-01
    • 2017-04-22
    • 1970-01-01
    • 2019-09-26
    • 2017-06-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多