【问题标题】:Eclipse 2018-12 (4.10.0) Version not showing Spring Framework default logs in console?Eclipse 2018-12 (4.10.0) 版本未在控制台中显示 Spring Framework 默认日志?
【发布时间】:2019-06-05 15:35:19
【问题描述】:

我在 Mac OS Mojave 上使用 Eclipse IDE 2018-12 进行项目开发,遗憾的是无法在 Eclipse 控制台中看到默认的 spring 框架控制台日志,令人惊讶的是我能够看到项目中使用的其他 System.out.println 语句,有没有人遇到过这个问题,或者这是 eclipse IDE 2018-12 的错误?

【问题讨论】:

  • 你的spring项目的src/main/java/resources目录下有logback.xml文件吗?
  • 不,现在我已经创建了一个简单的 Spring 4.2 项目,在我的项目类路径中有 commons-logging.jar 和 log4j-1.2.14.jar。
  • 你能添加,import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; private static Log log = LogFactory.getLog(<your-class-name>.class);log.info("Hello world");,对我来说很好:21:20:44.292 [main] INFO hello.Application - Hello world
  • 这个问题太抽象了,如果你能提供链接或你的项目,可能会有人帮助你。
  • @Sambit 我可以要您的电子邮件ID,以便我可以共享压缩的项目结构吗?

标签: java spring eclipse macos


【解决方案1】:

根据上面的讨论,我在下面提供了配置你的 spring 项目的方法。它不是 maven 或 gradle 类型的项目。首先,您必须创建一个 log4j.properties 文件并将该文件保存在资源文件夹中。我在下面提供了示例 log4j.properties 文件。

# Root logger option
log4j.rootLogger=DEBUG, stdout, file

# Redirect log messages to console
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

# Redirect log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
#outputs to Tomcat home
log4j.appender.file.File=${catalina.home}/logs/myapp.log
log4j.appender.file.MaxFileSize=5MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

在eclipse中右键资源文件夹,点击构建路径>用作源文件夹

见下图。

最后,我修改了你的 HelloClient.java

对 Log4j 记录器使用以下行。

private static final Logger log = Logger.getLogger(HelloClient.class); 

而不是下面一行

private static Log log = LogFactory.getLog(HelloClient.class);

另外,导入以下行。

import org.apache.log4j.Logger;

注释掉代码中的以下几行。

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

使用下面这行

ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");

代替下面一行

ApplicationContext applicationContext = new ClassPathXmlApplicationContext("resources/applicationContext.xml");

现在在 eclipse 中运行 HelloClient.java 类,你可以在控制台中看到日志行数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    • 2016-07-19
    • 2018-06-06
    相关资源
    最近更新 更多