fed*_*der 6 hibernate log4j log4j2
我正在使用以下log4j2.xml配置.我将它保存在资源文件夹的根目录中.
我无法摆脱INFO stdout hibernate输出.例如
06:17:01,835 INFO [stdout] (ServerService Thread Pool -- 52) insert into hibernate_sequence values ( 1 )
Run Code Online (Sandbox Code Playgroud)
我的配置有什么问题和/或缺少什么?
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN" monitorInterval="30">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
</Console>
</Appenders>
<Loggers>
<Logger name="com.mycode" level="trace" additivity="false">
<AppenderRef ref="Console"/>
</Logger>
<Logger name="org.hibernate" level="warn" additivity="false">
<AppenderRef ref="Console"/>
</Logger>
<Root level="warn">
<AppenderRef ref="Console" />
</Root>
</Loggers>
</Configuration>
Run Code Online (Sandbox Code Playgroud)
我将这些库附加到我的项目中.
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.0.2</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.0.2</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我正在使用这个API版本的JPA/Hibernate 4.
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.0-api</artifactId>
<scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我遇到了同样的问题,关闭日志级别正在为我工作:
<logger name="org.hibernate" level="OFF" additivity="false">
...
</logger>
Run Code Online (Sandbox Code Playgroud)
执行:
\n\njava.util.logging.Logger.getLogger("org.hibernate").setLevel(Level.OFF);\nRun Code Online (Sandbox Code Playgroud)\n\n在休眠的初始化对我有用之前。
\n\n注意:上面的行将关闭所有注销 ( Level.OFF)。如果你想不那么严格,你可以使用
java.util.logging.Logger.getLogger("org.hibernate").setLevel(Level.SEVERE);\nRun Code Online (Sandbox Code Playgroud)\n\n那已经足够安静了。(或者检查 java.util.logging.Level 类以获取更多级别)。
\n\n还有房产
\n\nhibernate.show_sql\nhibernate.generate_statistics\nhibernate.use_sql_comments\nRun Code Online (Sandbox Code Playgroud)\n\n直接控制日志记录以STDOUT绕过任何日志记录框架(您可以通过缺少消息的输出格式来识别该框架)。如果您使用 log4j 等日志记录框架,则应始终将该属性设置为false。
但是如果你想禁用所有控制台信息,你必须设置 org.hibernate 类的记录器级别NONEa FATAL。
show_sql
启用将所有生成的 SQL 语句记录到控制台
\n\n<property name="show_sql">false</property>\nRun Code Online (Sandbox Code Playgroud)\n\nformat_sql
对生成的 SQL 语句进行格式化以使其更具可读性,但会占用更多屏幕空间。
\n\n<property name="format_sql">false</property>\nRun Code Online (Sandbox Code Playgroud)\n\nuse_sql_comments
Hibernate 将在所有生成的 SQL 语句中添加注释,以提示生成的 SQL 试图执行的操作
\n\n<property name="use_sql_comments">false</property>\nRun Code Online (Sandbox Code Playgroud)\n\n巩固:
\n\n<property name="show_sql">true</property>\n<property name="format_sql">true</property>\n<property name="use_sql_comments">true</property>\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
5539 次 |
| 最近记录: |