LogBack学习(1)

最近在学习LogBack相关内容,貌似这东西是Log4j的升级,根据官方说法具体信息参见[url]http://logback.qos.ch/documentation.html[/url],其写文件速度是8或9个微秒,写数据库的时间也在几个毫秒。说是对多线程的日志写入的性能有了大幅度的提升。当前logback有以下几个核心类库:
[table]
|[align=center]类库名称[/align]|[align=center]是否必要[/align]|
|[b]logback-access-1.0.13.jar[/b]|非必要|
|[b]logback-classic-1.0.13.jar[/b]|必要|
|[b]logback-core-1.0.13.jar[/b]|必要|
|[b]slf4j-api-1.7.5.jar[/b]|必要|
[/table]
从其引入的类库可知它是依赖于slf4j的,而logback-access并非是logback的必备包,只有当你需要特殊的日志记录方式,比如socket、数据库方式等等。。
通过对其研究,我写了个测试程序由于Logback是非侵入式的,因此这里列出其配置文件:

<configuration>
<statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" />

<appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>MqClearLog.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- rollover daily -->
<fileNamePattern>MqClearLog-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- or whenever the file size reaches 100MB -->
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<pattern>%msg%n</pattern>
</encoder>
</appender>

<root level="debug">
<appender-ref ref="ROLLING" />
</root>

</configuration>

经测试其输出结果为:
[quote]
16:22:41,200 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
16:22:41,200 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
16:22:41,200 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.xml]
16:22:41,201 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Setting up default configuration.

16:22:41.247 [main] INFO chapters.configuration.MyApp2 - Entering application.
16:22:41.249 [main] DEBUG chapters.configuration.Foo - Did it again!
16:22:41.249 [main] INFO chapters.configuration.MyApp2 - Exiting application.
[/quote]
之后通过阅读官方文档可知去掉”StatusPrinter.print(lc);“此句则不会打印logback的状态,于是我把其去掉了,可之后的输出结果还是和以前的一样,可官方文档上说只要配置文件正确就不会打印可还是有。后经确认为配置问题即
<statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" />

此句为将logback的状态信息打印到console上(一般为屏幕)将此去掉一切就都OK了。烦恼了好久的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值