`

避免linux下hibernate打印到catalina.out中

 
阅读更多
hibernate log打印
     遇到生产问题,明明配置了log4j.xml,却还一直打印到catalina.out下,导致catalina.out无限制增长,半年占满磁盘空间。
      搞了一天还没弄清楚问题,虽然百度看到别人的在log4j配置文件里边配置hibernate的输出却一直没有生效。后来看到catalina.out启动日志包含
     
SLF4J: Class path contains multiple SLF4J bindings.

     表示与slf4j绑定了,又搜索了一下,发现有说使用logback.xml打印hibernate的输出日志。看到logback.xml的确与slf4j绑定的,因此增加logback.xml单独打印hibernate的log,以下代码结合自己项目摘抄别人的

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

	<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
		<encoder charset="UTF-8"> <!-- encoder 可以指定字符集,对于中文输出有意义 -->
			<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger -- %msg -- %n</pattern>
		</encoder>
	</appender>

	<appender name="RollingFile"
		class="ch.qos.logback.core.rolling.RollingFileAppender">

		<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
			<level>TRACE</level>
		</filter>

		<!-- 可让每天产生一个日志文件,最多 10 个,自动回滚 -->
		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<fileNamePattern>/home/workway/web/log/aciHibernate-%d{yyyy-MM-dd}.log</fileNamePattern>
			<maxHistory>10</maxHistory>
		</rollingPolicy>
		<encoder>
			<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger -- %msg -- %n</pattern>
		</encoder>
	</appender>

	<!-- 输出到控制台和文件,可定义更多的 Appender -->

	<root level="DEBUG">
		<appender-ref ref="RollingFile" />
	</root>

	<!-- 下面配置一些第三方包的日志过滤级别,用于避免刷屏 -->

	<logger name="org.hibernate" level="WARN" />
	<logger name="com.opensymphony" level="WARN" />

	<!-- show parameters for hibernate sql 专为 Hibernate 定制 -->
	<logger name="org.hibernate.type.descriptor.sql.BasicBinder"
		level="TRACE" />
	<logger name="org.hibernate.type.descriptor.sql.BasicExtractor"
		level="DEBUG" />
	<logger name="org.hibernate.SQL" level="DEBUG" />
    <logger name="org.hibernate.type" level="TRACE" />
	<logger name="org.hibernate.engine.QueryParameters" level="DEBUG" />
	<logger name="org.hibernate.engine.query.HQLQueryPlan" level="DEBUG" />

</configuration>



 <logger name="org.hibernate.type" level="TRACE" />
  
这个可以去掉,打印出来的log太多
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics