此文,主要是收集我在学习Java日志组件时候,查到的网络资料。现收集起来,方便自己以后复习查看。
Java日志组件介绍
这些文章介绍Java日志的各个方面
http://blog.csdn.net/yycdaizi/article/details/8276265 (common-logging,log4j,slf4j,logback )
http://blog.csdn.net/dyccsxg/article/details/9314823
以下是slf4j和logback的相关介绍
1、整体介绍
官方首页
简单介绍(logback)
http://blog.csdn.net/chszs/article/details/8653460
http://blog.csdn.net/longaohun/article/details/6782046
SLF4J是简单的日志外观模式框架,抽象了各种日志框架例如Logback、Log4j、Commons-logging和JDK自带的logging实现接口。
它使得用户可以在部署时使用自己想要的日志框架。SLF4J是轻量级的,在性能方面几乎是零消耗的。
SLF4J没有替代任何日志框架,它仅仅是标准日志框架的外观模式。如果在类路径下除了SLF4J再没有任何日志框架,那么默认状态是在控制台输出日志。
2、slf4j手册
http://www.slf4j.org/manual.html
3、logback介绍
a、logback 简介
http://aub.iteye.com/blog/1101222
b、logback 配置详解(一)<configuration> and <logger>
http://aub.iteye.com/blog/1101260
c、logback 常用配置详解(二) <appender>
http://aub.iteye.com/blog/1103685
d、logback 常用配置详解(三) <filter>
http://aub.iteye.com/blog/1110008
e、logback手册中文版
http://pan.baidu.com/s/1gdkq30f
f、logback手册英文
http://logback.qos.ch/manual/index.html
logback配置示例:
<!-- if debug set to true, context info always print
otherwise the contex info will print when error occour -->
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{40} - %msg%n</pattern>
</layout>
</appender>
<!-- 所有日志文件-->
<appender name="AllLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>log/abcchina/all/%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{40} - %msg%n</pattern>
</encoder>
</appender>
<appender name="TaskLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>log/abcchina/task/%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{40} - %msg%n</pattern>
</encoder>
</appender>
<appender name="SendLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>log/abcchina/send/%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{40} - %msg%n</pattern>
</encoder>
</appender>
<!-- 为莫个包下的所有类指定Appender 这里也可以指定类名称例如:com.aa.bb.ClassName-->
<logger name="com.aa.bb" >
<appender-ref ref="TaskLog" />
</logger>
<logger name="com.aa.cc" >
<appender-ref ref="SendLog" />
</logger>
<root level="INFO">
<appender-ref ref="AllLog" />
</root>
</configuration>