Java 关闭标准输出上的hibernate日志记录

Java 关闭标准输出上的hibernate日志记录,java,hibernate,maven,jar,log4j,Java,Hibernate,Maven,Jar,Log4j,请阅读完整的问题,然后考虑重复的可能性 我已经讨论了几个关于stackoverflow的问题,他们建议关闭stdout上的hibernate日志记录 当我使用maven运行我的应用程序mvn exec:java-Dexec.mainClass=org.flytxt.JobMonitor的jar文件时,我可以成功地在stdout上关闭hibernate日志记录。这是通过使用log4j.prpoerties文件实现的 使用maven在标准输出上的输出如下所示: 但是当我使用maven打包的jar文件

请阅读完整的问题,然后考虑重复的可能性

我已经讨论了几个关于stackoverflow的问题,他们建议关闭stdout上的hibernate日志记录

当我使用maven运行我的应用程序mvn exec:java-Dexec.mainClass=org.flytxt.JobMonitor的jar文件时,我可以成功地在stdout上关闭hibernate日志记录。这是通过使用log4j.prpoerties文件实现的

使用maven在标准输出上的输出如下所示:

但是当我使用maven打包的jar文件时,可以在项目目录的目标子目录中找到,手动将所有jar添加到MANIFEST.MF中,并执行它java-jar JobMonitor-1.0-SNAPSHOT.jar,我在stdout上看到太多hibernate的调试日志信息,如下所示:

root@fly-dt223:/home/rohit/workspace_dfe/JobMonitor/JobMonitor/daemon# java -jar JobMonitor-1.0-SNAPSHOT.jar 
17:00:41.954 [192.168.151.50] DEBUG org.jboss.logging - Logging Provider: org.jboss.logging.Slf4jLoggerProvider
17:00:41.965 [192.168.151.50] DEBUG org.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BooleanType@1ef8deca
17:00:41.965 [192.168.151.50] DEBUG org.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BooleanType@1ef8deca
17:00:41.965 [192.168.151.50] DEBUG org.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> org.hibernate.type.BooleanType@1ef8deca
17:00:41.966 [192.168.151.50] DEBUG org.hibernate.type.BasicTypeRegistry - Adding type registration numeric_boolean -> org.hibernate.type.NumericBooleanType@1ce2a846
17:00:41.967 [192.168.151.50] DEBUG org.hibernate.type.BasicTypeRegistry - Adding type registration true_false -> org.hibernate.type.TrueFalseType@1ce7df90
17:00:41.967 [192.168.151.50] DEBUG org.hibernate.type.BasicTypeRegistry - Adding type registration yes_no -> org.hibernate.type.YesNoType@40d2a14b
17:00:41.968 [192.168.151.50] DEBUG org.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.ByteType@2b6167ab
17:00:41.968 [192.168.151.50] DEBUG org.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.ByteType@2b6167ab
17:00:41.968 [192.168.151.50] DEBUG org.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Byte -> org.hibernate.type.ByteType@2b6167ab
17:00:41.969 [192.168.151.50] DEBUG org.hibernate.type.BasicTypeRegistry - Adding type registration character -> org.hibernate.type.CharacterType@6ba47ef5
17:00:41.969 [192.168.151.50] DEBUG org.hibernate.type.BasicTypeRegistry - Adding type registration char -> org.hibernate.type.CharacterType@6ba47ef5
17:00:41.969 [192.168.151.50] DEBUG org.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Character -> org.hibernate.type.CharacterType@6ba47ef5
17:00:41.970 [192.168.151.50] DEBUG org.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.ShortType@39614c6
17:00:41.971 [192.168.151.50] DEBUG org.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.ShortType@39614c6
17:00:41.972 [192.168.151.50] DEBUG org.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Short -> org.hibernate.type.ShortType@39614c6
17:00:41.973 [192.168.151.50] DEBUG org.hibernate.type.BasicTypeRegistry - Adding type registration integer -> org.hibernate.type.IntegerType@1621a02b
我的应用程序使用log4j.properties,其内容如下所示

log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=/tmp/hibernate.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
log4j.rootLogger=INFO, file
log4j.logger.org.hibernate=INFO
log4j.logger.org.hibernate.type=INFO
似乎maven正在从jar文件本身或其他路径加载log4j.properties文件。 以下是log4j.properties文件在我的项目目录结构中的位置:

所以,我的问题是:当我简单地使用java-jar-JobMonitor-1.0-SNAPSHOT.jar时,如何停止hibernate登录stdout并使其登录到上面所示的文件log4j.properties的内容中


我假设,在使用命令java-jar JobMonitor-1.0-SNAPSHOT.jar时,我的应用程序可能找不到log4j.properties

可能与我在问题中提到的相同,我可以使用maven executor关闭对stdout的登录,但在使用java-jar-JobMonitor-1.0-SNAPSHOT.jar时无法关闭它。您提供的链接中的一些答案会起作用,但我不希望我的应用程序以编程方式停止日志记录。