Scala日志打印

Scala日志打印,第1张

基于 scala-logging 和 logback 的日志打印模板,其中 logback 是一个更高效/更优于 log4j 的日志打印框架,目前正逐渐替代 log4j 的位置,以下为实现日志打印的几个步骤:

以 maven 为例:

在 resources 目录下添加 logback.xml 文件,该文件就类似于 log4j.properties

具体配置自行修改

打印效果:

在使用hiberate实现数据层时,总会打开hibernate.show_sql=true选项,显示hibernate生成的SQL语句。他们可以通过生成的SQL语句了解ORM使用和运行,并可以依据SQL语句优化程序。同理我们也希望在mongo java driver中看见生成 *** 作数据库语句日志。

直接使用mongo driver

在mongo driver加载之前设置如下系统属性:

[java] view plain copy print?

// Enable MongoDB logging in general

System.setProperty("DEBUG.MONGO", "true")

// Enable DB operation tracing

System.setProperty("DB.TRACE", "true")

使用spring

spring使用了依赖注入,mongo driver加载由spring完成,所以也使用注入方法设置系统属性,设置方法如下:

[html] view plain copy print?

<bean id="sysProps"

class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">

<property name="targetClass" value="java.lang.System" />

<property name="targetMethod" value="getProperties" />

</bean>

<bean id="sysMongo"

class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">

<property name="targetObject" ref="sysProps"/>

<property name="targetMethod" value="setProperty"/>

<property name="arguments">

<list>

<value>DEBUG.MONGO</value>

<value>true</value>

</list>

</property>

</bean>

<bean id="sysDbTrace"

class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">

<property name="targetObject" ref="sysProps"/>

<property name="targetMethod" value="setProperty"/>

<property name="arguments">

<list>

<value>DB.TRACE</value>

<value>true</value>

</list>

</property>

</bean>

<mongo:mongo host="localhost" port="27017">

<mongo:options connections-per-host="8"

threads-allowed-to-block-for-connection-multiplier="4"

connect-timeout="1000" max-wait-time="1500" auto-connect-retry="true"

socket-keep-alive="true" socket-timeout="1500" slave-ok="true"

write-number="1" write-timeout="0" write-fsync="false" />

</mongo:mongo>

<mongo:db-factory dbname="ewcms" mongo-ref="mongo" />

日志效果

信息: localhost:27017

三月 30, 2012 3:31:46 下午 com.mongodb.DBApiLayer trace

信息: find: ewcms.system.indexes { "name" : "name" , "ns" : "ewcms.person" , "dropDups" : false , "sparse" : false , "unique" : false , "key" : { "name" : 1}}

三月 30, 2012 3:31:46 下午 com.mongodb.DBApiLayer trace

信息: save: ewcms.system.indexes { "name" : "name" , "ns" : "ewcms.person" , "dropDups" : false , "sparse" : false , "unique" : false , "key" : { "name" : 1}}

三月 30, 2012 3:31:46 下午 com.mongodb.DBApiLayer trace

信息: find: ewcms.system.indexes { "name" : "cerId" , "ns" : "ewcms.certificate" , "dropDups" : false , "sparse" : false , "unique" : true , "key" : { "cerId" : 1}}

三月 30, 2012 3:31:46 下午 com.mongodb.DBApiLayer trace

信息: find: ewcms.system.namespaces { }

三月 30, 2012 3:31:46 下午 com.mongodb.DBApiLayer trace

信息: find: ewcms.certificate { "brithdate" : { "$gt" : { "$date" : "1976-12-22T16:00:00.000Z"} , "$lt" : { "$date" : "1976-12-24T16:00:00.000Z"}}}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11550618.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存