AppEngina上的Log4j - >显示的所有日志消息具有相同的日志级别

时间:2013-08-20 21:59:18

标签: java google-app-engine logging log4j

我的日志消息总是在app引擎日志记录控制台中显示为“info”,即使我将消息记录为错误(参见屏幕截图)。

我记录了这样的消息:

private static Logger logger = Logger.getLogger(PingServlet.class);
logger.error("Database was successfully pinged!!.");

像这样的配置:

的src /主/资源/ log4j.properties

# Root logger option
log4j.rootLogger=INFO, stdout

# Direct log messages to stdout
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{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

的src /主/ web应用/ WEB-INF / logging.properties

# A default java.util.logging configuration.
# (All App Engine logging is through java.util.logging by default).
#
# To use this configuration, copy it into your application's WEB-INF
# folder and add the following to your appengine-web.xml:
# 
# <system-properties>
#   <property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/>
# </system-properties>
#

# Set the default logging level for all loggers to WARNING
.level = INFO

enter image description here

我该如何改变?我想将错误显示为错误等等。

1 个答案:

答案 0 :(得分:0)

如果您使用log4j进行日志记录,则会使用ConsoleAppender将日志消息打印到“控制台”,然后AppEngina会在其自己的日志中收集这些消息。您拥有的两个日志部分未连接。

您需要直接使用java.util.logging而不是log4j或使用slf4将log4j重定向到java.util.logging(有点棘手,仔细阅读文档)