在项目中使用memcached,用到了spymemcached
但是发现他默认的日志管理不受log4j的控制,而是直接在stderr里输出所有信息:
"Compressed %s from %d to %d"
时间长了,stderr的文件很恐怖,显然不行
查了下wiki,方法是:
Using log4j
Set the logger impl to net.spy.log.Log4JLogger. For example:
-Dnet.spy.log.LoggerImpl=net.spy.memcached.compat.log.Log4JLogger Using Java's Built-in Logging
Set the logger impl to net.spy.memcached.compat.log.SunLogger. For example:
-Dnet.spy.log.LoggerImpl=net.spy.memcached.compat.log.SunLogger
没看懂,不知道在哪里设置
看源码:
Class<? extends Logger> c=DefaultLogger.class;
String className=System.getProperty("net.spy.log.LoggerImpl");
终于懂了,要设置一个jvm变量!
如果没设置的话,默认的DefaultLogger:
if(level == Level.INFO
|| level == Level.WARN
|| level == Level.ERROR
|| level == Level.FATAL) {
System.err.printf("%s %s %s: %s/n",
df.format(new Date()), level.name(), getName(), message);
怪不得...
在resin.conf里增加:
<jvm-arg>-Dnet.spy.log.LoggerImpl=net.spy.memcached.compat.log.Log4JLogger</jvm-arg>
后正常
spymemcached 日志管理
最新推荐文章于 2022-04-24 17:40:56 发布