当前位置: 首页 > 知识库问答 >
问题:

AppEngine-Log4j和Log-Levels

赵智
2023-03-14

我想使用Log4j登录AppEngine。我像这样配置了记录器:

.level = INFO
log4j.rootLogger=DEBUG, 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{ABSOLUTE} %5p %t %c{1}:%M:%L - %m%n 

但是记录器然后将所有内容记录到INFO,并且实际的日志级别只是按如下方式显示:(日志级别错误)

有没有一种方法可以让真实的日志级别与log4j一起工作,以便对日志级别进行过滤可以在appEngine UI上工作?

编辑:更详细的示例:

所以我记录了这样一个错误:

import org.apache.log4j.Logger;
private static Logger logger = Logger.getLogger(PingServlet.class);

logger.error("Database was successfully pinged.");

在Appenger-UI上,它显示为INFO(绿色I)。只有登录文本指示正确的日志级别:

共有1个答案

魏朗
2023-03-14

GAEJava留档声明您写入标准输出的所有内容都作为INFO记录,写入标准输出的所有内容都是警告[1]。您的根记录器正在将所有内容写入标准输出。

我不是log4j专家,所以我不知道记录器同时写入stdout和stderr的方法。一种解决方法是使用两个记录器,一个用于INFO,另一个用于警告。

[1]https://cloud.google.com/appengine/docs/java/requests#Java_Logging

 类似资料:
  • 主要内容:Redo Log,redo log刷盘策略,其他参数,Undo Log,回滚段与undo页,Undo类型,undo log的生命周期,详细生成过程,undo log是如何回滚的,扩展,bin log,两阶段提交Redo Log REDO LOG称为重做日志 ,当MySQL服务器意外崩溃或者宕机后,保证已经提交的事务持久化到磁盘中(持久性)。 InnoDB是以页为单位去操作记录的,增删改查都会加载整个页到buffer pool中(磁盘->内存),事务中的修改操作并不是直接修改磁盘中的数据

  • 问题内容: 我有一个使用log4j SyslogAppender(facility = USER)的Java应用程序,我可以在端口514上使用tcpdump看到我的应用程序正在将预期的日志消息作为数据报发送,并且netstat告诉我syslogd(红色帽子)正在运行并且正在监听0.0 .0.0:514,但我看不到/ var / log / messages中发生任何日志记录。 在我的syslog.

  • 问题内容: 我正在尝试从此处编译代码:http : //www.brackeen.com/javagamebook/#download(第6章),但遇到了麻烦。我不了解如何与log4j一起工作,但这似乎是问题所在。我得到的错误全部在或方法调用上。 这是NetBeans的输出: 这是本书的直接代码。我还没有尝试编辑它。 问题答案: 在您的类中导入java.util.logging.Logger似乎会

  • 问题内容: 我有一个正在使用log4j2编写的新应用程序,以利用其一些新功能。它使用的其中一个库较旧,是使用log4j 1.x构建的。我在应用程序中的新代码写入日志时遇到问题,但旧库中的代码未写入日志。我什至有一个类,它是旧库中某些东西的子类,并且也被旧库中的代码调用,并且此代码也不会写入日志。我已将应用程序配置为使用log4j2版本2.0.2,并且在将旧库作为maven依赖项引用时,我明确排除了

  • 问题内容: 当我尝试在AppEngine中使用低级DataStore API时,我得到了一个有趣的东西。此异常发生在云服务器中,而不是在本地实例中。我在本地使用。 问题答案: 听起来对我来说是两件事之一。 1:您正在尝试在单元测试中运行GAE代码,在这种情况下,您需要使用此页面中指定的代码。 2:您没有将所有必需的jar添加到类路径中。

  • 我使用log4j RollingFileAppender根据文件大小滚动日志文件。我们设置的最大文件大小是"10 MB"。它在tomcat 6中运行良好,但是当我们迁移到TomEE Plus时...日志文件滚动不会发生...文件大小继续增长。 log4j配置如下: