spymemcached日志需要在java启动参数中配置
在tomcat中配置方法:
打开tomcat/bin/catalina.sh
找的JAVA_OPTS 变量,添加行
JAVA_OPTS="$JAVA_OPTS -Dnet.spy.log.LoggerImpl=net.spy.memcached.compat.log.Log4JLogger"
在spymemcached中是这样处理的
spy的LoggerFactory类中
@SuppressWarnings("unchecked")
private void getConstructor() {
Class<? extends Logger> c = DefaultLogger.class;
String className = System.getProperty("net.spy.log.LoggerImpl");
if (className != null) {
try {
c = (Class<? extends Logger>) Class.forName(className);
} catch (NoClassDefFoundError e) {
System.err.println("Warning: " + className
+ " not found while initializing"
+ " net.spy.compat.log.LoggerFactory");
e.printStackTrace();
c = DefaultLogger.class;
} catch (ClassNotFoundException e) {
System.err.println("Warning: " + className
+ " not found while initializing"
+ " net.spy.compat.log.LoggerFactory");
e.printStackTrace();
c = DefaultLogger.class;
}
}
// Find the best constructor
try {
// Try to find a constructor that takes a single string
Class<?>[] args = { String.class };
instanceConstructor = c.getConstructor(args);
} catch (NoSuchMethodException e) {
try {
// Try to find an empty constructor
Class<?>[] args = {};
instanceConstructor = c.getConstructor(args);
} catch (NoSuchMethodException e2) {
System.err.println("Warning: " + className
+ " has no appropriate constructor, using defaults.");
// Try to find a constructor that takes a single string
try {
Class<?>[] args = { String.class };
instanceConstructor = DefaultLogger.class.getConstructor(args);
} catch (NoSuchMethodException e3) {
// This shouldn't happen.
throw new NoSuchMethodError("There used to be a constructor that "
+ "takes a single String on " + DefaultLogger.class + ", but I "
+ "can't find one now.");
} // SOL
} // No empty constructor
} // No constructor that takes a string
} // getConstructor
然后再log4j.properties文件中添加
#memcached logger
log4j.logger.net.spy=debug, memcachedLog
log4j.appender.memcachedLog=org.apache.log4j.DailyRollingFileAppender
log4j.appender.memcachedLog.File=d:/memcached2.log
log4j.appender.memcachedLog.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.memcachedLog.layout=org.apache.log4j.PatternLayout
log4j.appender.memcachedLog.layout.ConversionPattern=%d %p [%t] | %m%n
分享到:
相关推荐
### Tomcat 下的 Log4j 日志配置详解 在日常的 Web 开发中,日志记录对于调试问题、监控系统状态以及后期维护来说至关重要。在使用 Apache Tomcat 作为服务器时,合理配置日志框架(如 Log4j)能够极大地提高开发...
Log4j作为Java领域广泛应用的日志框架,提供了强大的日志记录功能和灵活的配置。本文将深入探讨log4j的配置以及配置文件的详解。** 首先,我们要理解什么是`log4j.properties`文件。这是log4j框架的配置文件,使用...
Log4j 是一个功能强大且广泛使用的日志记录工具,特别是在 SSM(Spring、Spring MVC、Mybatis)整合项目中,合理地配置 Log4j 对项目的日志记录和输出至关重要。本文将详细介绍 SSM 整合中的 Log4j 配置详情,帮助...
logstash采集log4j日志发送到es配置文件,可以把日志根据日志级别区分开,一个级别一条日志是es中的一条数据
### Log4j中配置日志文件相对路径方法详解 #### 概述 在软件开发过程中,日志记录是一项重要的功能,它有助于开发者调试程序、监控应用程序的运行状态以及追踪问题。`Log4j`作为一款优秀的日志管理工具,被广泛应用...
tomcat6.0 配log4j日志的必须文件及配置过程 tomcat6-------lib | |--------tomcat-juli-adapters.jar | |--------log4j.jar | |--------log4j.properites | |----bin |--------tomcat-juli.jar 最后把log4...
Log4j是Apache提供的一款广泛使用的日志框架,它提供了丰富的功能和灵活的配置,使得我们可以根据需要动态地改变日志的输出路径。本文将深入探讨如何在Log4j中实现日志输出路径的动态配置。 首先,我们要理解Log4j...
总之,将Spring的日志配置为Log4j,涉及到引入Log4j库、编写`log4j.properties`配置文件、以及在Spring配置文件中声明使用Log4j。理解这些步骤和配置项对于优化日志记录,排查问题以及监控系统运行状态至关重要。
log4j2配置文件,按照文件大小划分日志,保存日期天数内的日志,指纹日志命名规则,日志输出等级等功能
这篇博客文章“log4j日志配置”很可能是关于如何配置Log4j以满足特定的日志需求,特别是涉及到`DailyRollingFileAppender`,这是一个将日志输出到按日期滚动的文件中的类。 `DailyRollingFileAppender`是Log4j的一...
log4j的主要优势在于其灵活性和可扩展性,允许用户通过配置文件自定义日志记录的方式,无需修改应用程序代码。 #### 二、日志记录的目的 在应用程序中记录日志主要有以下三个目的: 1. **监视代码中变量的变化...
Log4j是Apache的一个开源项目,它为Java应用程序提供了强大的日志处理能力。在Tomcat服务器上配置Struts2框架的日志系统时,通常会利用Log4j来实现灵活、可定制的日志记录。Log4j的优势在于其高度的可配置性,允许...
Log4j2是Apache软件基金会开发的日志框架Log4j的升级版,它具有更高的性能、灵活性和可配置性。Log4j2支持多种日志记录级别(如DEBUG、INFO、WARN、ERROR),并允许通过XML、JSON、YAML或纯Java配置文件进行灵活配置...
Log4j 是一款广泛使用的Java日志记录框架,它提供了灵活的日志配置和丰富的日志级别,便于开发者调试和监控应用程序。在Java开发过程中,如果遇到"log4j:WARN Please initialize the log4j system properly"这样的...
Log4j和Log4j2是两种广泛使用的Java日志框架,它们提供了灵活的日志配置和高性能的日志处理能力。本文将详细介绍如何在SpringBoot项目中配置Log4j和Log4j2。 ### SpringBoot与Log4j Log4j是Apache的一个开源项目,...
在“log4j按功能保存日志”的场景中,我们通常会利用Log4j的配置灵活性,将不同功能的日志分别写入不同的文件,以便于后期分析、排查问题和监控系统状态。 1. **Log4j基本概念** - **Logger**: 日志记录器,是Log4...
在`.properties`文件中,配置信息通过键值对的形式呈现,如示例中的`log4j.category.org.zblog=ERROR,A1`,这里指定了`org.zblog`这个logger的日志级别为`ERROR`,并关联到名为`A1`的appender。 2. **.xml格式**:...
log4j 详细配置 log4j 详细配置 log4j 详细配置 log4j 详细配置
配置完成后,可通过命令行发送一条测试日志,以验证log4j与syslog的集成是否成功: ```bash /usr/bin/logger -p local6.info "hello hhhh" ``` 检查日志文件`/var/log/日志文件名.log`中是否正确写入了这条日志...