Wyłączanie wyjścia konsoli rejestrującej hibernate
Używam hibernate 3 i chcę go powstrzymać przed wrzucaniem wszystkich wiadomości startowych do konsoli. Próbowałem komentować linie stdout w log4j. properties, ale bez powodzenia. Wkleiłem mój plik dziennika poniżej. Również używam eclipse ze standardową strukturą projektu i mam kopię log4j. properties zarówno w katalogu głównym projektu, jak i w folderze bin.
### direct log messages to 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 %c{1}:%L - %m%n ### direct messages to file hibernate.log ### log4j.appender.file=org.apache.log4j.FileAppender log4j.appender.file.File=hibernate.log log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n ### set log levels - for more verbose logging change 'info' to 'debug' ### log4j.rootLogger=warn, stdout #log4j.logger.org.hibernate=info log4j.logger.org.hibernate=debug ### log HQL query parser activity #log4j.logger.org.hibernate.hql.ast.AST=debug ### log just the SQL #log4j.logger.org.hibernate.SQL=debug ### log JDBC bind parameters ### log4j.logger.org.hibernate.type=info #log4j.logger.org.hibernate.type=debug ### log schema export/update ### log4j.logger.org.hibernate.tool.hbm2ddl=debug ### log HQL parse trees #log4j.logger.org.hibernate.hql=debug ### log cache activity ### #log4j.logger.org.hibernate.cache=debug ### log transaction activity #log4j.logger.org.hibernate.transaction=debug ### log JDBC resource acquisition #log4j.logger.org.hibernate.jdbc=debug ### enable the following line if you want to track down connection ### ### leakages when using DriverManagerConnectionProvider ### #log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider=trac5
11 answers
Spróbuj ustawić bardziej rozsądny poziom logowania. Ustawienie poziomu logowania na info
oznacza, że tylko log event na info
lub wyższym poziomie (warn
, error
i fatal
) są rejestrowane, czyli debug
zdarzenia rejestrujące są ignorowane.
log4j.logger.org.hibernate=info
Lub w wersji XML pliku konfiguracyjnego log4j:
<logger name="org.hibernate">
<level value="info"/>
</logger>
Patrz również Instrukcja log4j .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-05-24 21:27:27
Ważna uwaga: właściwość (część konfiguracji hibernate, Nie część logging framework config!)
hibernate.show_sql
Steruje logowaniem bezpośrednio do STDOUT, omijając dowolny framework logowania (który można rozpoznać po brakującym formatowaniu wyjściowym wiadomości). Jeśli używasz frameworka logowania, takiego jak log4j, powinieneś Zawsze ustawić tę właściwość na false , ponieważ nie daje to żadnych korzyści.
Ta okoliczność irytowała mnie dość długo. bo nigdy mnie to nie obchodziło, dopóki nie spróbowałem napisać jakiegoś benchmarka dotyczącego Hibernate.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-18 20:10:22
Wykonanie:
java.util.logging.Logger.getLogger("org.hibernate").setLevel(Level.OFF);
Zanim inicjalizacja hibernate zadziałała.
Uwaga: powyższa linia będzie wyłączać co (Level.OFF
). Jeśli chcesz być mniej surowy, możesz użyć
java.util.logging.Logger.getLogger("org.hibernate").setLevel(Level.SEVERE);
To jest wystarczająco ciche. (Lub sprawdź klasę java.util.logging.Level
, aby uzyskać więcej poziomów).Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-19 22:05:07
Możesz wyłączyć wiele wyjść hibernate ustawiając tę właściwość hibernate (konfiguracja hb) false:
hibernate.show_sql
hibernate.generate_statistics
hibernate.use_sql_comments
Ale jeśli chcesz wyłączyć wszystkie informacje o konsoli musisz ustawić poziom loggera a NONE of FATAL of class org.hibernate
Jak Juha say.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-08-31 23:22:04
W końcu się zorientowałem, to dlatego, że Hibernate używa teraz loga slf4j, aby przejść do log4j, musisz umieścić log4j i slf4j-log4j12 słoiki do lib, a następnie Właściwości log4j przejmą kontrolę nad logami Hibernate.
Mój pom.ustawienie xml wygląda jak poniżej: <dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.4</version>
</dependency>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-05-10 15:54:26
W celu wyłączenia wiadomości Hibernate:select
w dzienniku można ustawić właściwość HibernateJpaVendorAdapter
:
<bean id="jpaVendorAdapter"
class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="showSql" value="false"/>
</bean>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-05-03 12:04:53
Dla tych, którzy nie chcą eleganckich rozwiązań, po prostu szybki i brudny sposób, aby zatrzymać te wiadomości, oto rozwiązanie, które działało dla mnie (używam Hibernate 4.3.6 i Eclipse i żadne odpowiedzi podane powyżej (lub Znalezione w Internecie) nie działały; ani pliki konfiguracyjne log4j, ani Ustawianie poziomu logowania programowo)
public static void main(String[] args) {
//magical - do not touch
@SuppressWarnings("unused")
org.jboss.logging.Logger logger = org.jboss.logging.Logger.getLogger("org.hibernate");
java.util.logging.Logger.getLogger("org.hibernate").setLevel(java.util.logging.Level.WARNING); //or whatever level you need
...
}
Użyłem go w programie samouczka pobranym z tej strony
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-10 14:42:53
Aby pozbyć się wyjścia loggera w konsoli, spróbuj tego.
ch.qos.logback.classic.LoggerContext.LoggerContext loggerContext = (LoggerContext) org.slf4j.LoggerFactory.LoggerFactory.getILoggerFactory();
loggerContext.stop();
Te polecenia wyłączyły wszystkie wyjścia konsoli z loggera.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-16 09:12:10
Pierwszą rzeczą do zrobienia jest ustalenie, który framework logowania jest rzeczywiście używany.
Wiele frameworków zostało już omówionych przez innych autorów powyżej. Jeśli używasz Logback, możesz rozwiązać ten problem, dodając ten logback.xml do Twojej classpath:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<logger name="org.hibernate" level="WARN"/>
</configuration>
Więcej informacji: Instrukcja Logback-Konfiguracja
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-16 16:31:34
Zmieniłem "debug" na "info" i zadziałało. Oto co zrobiłem:
Przed:
log4j.rootLogger=debug, stdout, R
Po:
log4j.rootLogger=info, stdout, R
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-11-13 14:02:18
Zastąp slf4j-jdk14-xxx.jar z slf4j-log4j12-xxx.jar. Jeśli masz oba, Usuń slf4j-jdk14-xxx.jar. Znaleziono To rozwiązanie w https://forum.hibernate.org/viewtopic.php?f=1&t=999623
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-23 04:09:19