日志记录在 Stripes 框架应用程序中不起作用

Logging not working in Stripes framework application

在我的 Stripes Framework 应用程序中,日志记录未在控制台上记录。

堆栈:Apache Tomcat+jdk7+stripes 1.6

我将记录器用作:

import net.sourceforge.stripes.util.Log;
private static final Log logger = Log.getInstance(UserActionBean.class);
logger.debug("In Create User");

我已经尝试使用 net.sourceforge.stripes.util.Log4JLogger,但控制台上仍然没有打印任何内容。

我的库中有所有的罐子,下面是公共的-logging.properties

org.apache.commons.logging.Log=net.sourceforge.stripes.util.Log4JLogger

下面是log4j.properties

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
log4j.rootLogger=INFO, stdout
log4j.logger.net.sourceforge.stripes=DEBUG

我做错了什么?

在您的代码中调用 logger.debug()

然而,在 log4j.properties 中,调试输出仅对包 log4j.logger.net.sourceforge.stripes 启用。这涉及到 Stripes 框架包本身。

您必须为包含您自己的 (ActionBean) 的包启用 DEBUG 日志记录 类。假设您的 UserActionBean 在包 com.mybusiness.stripes.action 中,那么在 log4j.properties 中您需要包含以下行:

log4j.logger.com.mybusiness.stripes.action=DEBUG

或父包:

log4j.logger.com.mybusiness 扩大日志记录规则的范围。

或者您可以设置 log4j.rootLogger=DEBUG