java - 不在 Logger 控制台中打印日志

标签 java logging log4j

我已经删除了代码中的所有system.out.println(),并添加了apache log4j的Logger。但我的控制台上没有打印任何内容。这是我的 log4j.properties 文件

# Define the root logger with appender X
log4j.rootLogger = DEBUG, X

# Set the appender named X to be a File appender
log4j.appender.X=org.apache.log4j.FileAppender

# Define the layout for X appender
log4j.appender.X.layout=org.apache.log4j.PatternLayout
log4j.appender.X.layout.conversionPattern=%m%n

我按如下方式调用记录器类

Logger log = Logger.getLogger(PersonImpl.class.getName());

除了我的 log.info() 之外,还打印了其他日志。

DEBUG [http-bio-8080-exec-3] (Table.java:505) - No alter strings for table : hibernate_sequence
DEBUG [http-bio-8080-exec-3] (JtaPlatformInitiator.java:42) - No JtaPlatform was specified, checking resolver
DEBUG [http-bio-8080-exec-3] (JtaPlatformResolverInitiator.java:33) - No JtaPlatformResolver was specified, using default [org.hibernate.engine.transaction.jta.platform.internal.StandardJtaPlatformResolver]
DEBUG [http-bio-8080-exec-3] (StandardJtaPlatformResolver.java:101) - Could not resolve JtaPlatform, using default [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
DEBUG [http-bio-8080-exec-3] (NamedQueryRepository.java:149) - Checking 0 named HQL queries
DEBUG [http-bio-8080-exec-3] (NamedQueryRepository.java:165) - Checking 0 named SQL queries

最佳答案

您只添加了一个FileAppender(这将导致日志仅写入文件中),但如果您希望日志记录成功,您还需要添加一个ConsoleAppender也在控制台中完成。

可以按如下方式完成:

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

并在rootLogger中添加appender的名称,如下所示

log4j.rootLogger = DEBUG, X, stdout

除此之外,如果您想关闭 Hibernate 特定日志,您还必须这样做

log4j.logger.org.hibernate=fatal or log4j.logger.org.hibernate=off

希望这有帮助!

祝你好运!

关于java - 不在 Logger 控制台中打印日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35644250/

相关文章:

logging - log4j - 自适应日志级别 - 功能

java - Eclipse 中的包资源管理器发生了什么变化?

logging - 在哪里可以导出 AWS Cloudwatch Logs(适用于 Loggly)?

java - Log4j,不同的附加程序,相同的包和一个单独的类,写入不同的文件?

azure - 从 NuGet 库登录 Azure 和控制台应用程序

java - 使用 slf4j 和 log4j 进行 Hibernate 日志记录不生成日志文件

带有 log4j 的 Java

java - 通过 Tomcat main() 的 PHP/JAVA 桥 : Failed opening required 'http://localhost:8080/JavaBridge/java/Java.inc'

java - Hibernate persist() 与 save() 方法

java - cvc-数据类型-valid.1.2.1 : 'mylns:xsi' is not a valid value for 'NCName'