【问题标题】:Log4j on AppEngina -> All log messages shown with the same log levelAppEngina 上的 Log4j -> 以相同的日志级别显示的所有日志消息
【发布时间】:2013-08-20 21:59:17
【问题描述】:

我的日志消息始终在应用引擎日志控制台中显示为“信息”,即使我将消息记录为错误(参见屏幕截图)。

我记录了这样的消息:

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

这样的配置:

src/main/resources/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/main/webapp/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

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

【问题讨论】:

  • 有什么问题?在您编码时显示为错误。

标签: java google-app-engine logging log4j


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-04
    • 1970-01-01
    相关资源
    最近更新 更多