log4j:WARN没有为logger找到appender(org.hibernate.cfg.Environment)

时间:2016-10-09 07:03:42

标签: java hibernate logging

当我在hibernate上开发一个示例应用程序时,使用hibernate框架将pojo类对象插入到数据库中..我收到了错误信息,如

"WARN No appenders could be found for logger (org.hibernate.cfg.Environment).".

我不知道这意味着什么...我还添加了hibernate配置xml文件,并使用web逻辑服务器添加了映射文件.i' m。      This is my project architecture

1 个答案:

答案 0 :(得分:2)

我看到你的项目架构中有log4j库需要设置一些appender,基本上是一些属性才能使它正常工作。

您正在使用 log4j.1.2.15 ,因此Log4j documentation says:

  

Log4j允许将记录请求打印到多个目的地。在log4j中,输出目的地称为 appender 。目前,存在控制台,文件,GUI组件,远程套接字服务器,JMS,NT事件记录器和远程UNIX Syslog守护程序的附加程序。

所以基本上log4j不知道任何输出目的地,你需要明确告诉log4j它应该记录所有消息的位置 - 你在log4j.properties中告诉他这个信息,其中包含appender的属性和配置。

我认为您可以在log4j.properties旁边添加hibernate.cfg.xml以及以下配置,并且WARN消息应该消失。这是log4j.properties的简单配置:

# Set root logger level to DEBUG and its only appender to A1.
log4j.rootLogger=DEBUG, A1

# A1 is set to be a ConsoleAppender.
log4j.appender.A1=org.apache.log4j.ConsoleAppender

# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n