码迷,mamicode.com
首页 > 编程语言 > 详细

Spring集成Log4j日志框架

时间:2017-09-19 03:27:33      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:ack   接口   api   java   erro   href   com   param   info   

1.日志系统介绍

slf4j,即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于各种各样的日志系统。简答的讲就是slf4j是一系列的日志接口,而log4j是具体实现了的日志框架

slf4j与常用日志框架绑定关系,图片来源

技术分享

 

2.Maven导入slf4j和log4j,编辑pom.xml

<!-- 导入slf4j-log4j12,依赖slf4j-api和log4j,自动导入 -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.25</version>
</dependency>

 

3.log4j日志框架配置,编辑log4j.xml

log4j的xml配置方式基本步骤有3个,第一步:配置appender;第二步:配置logger;第三步:配置root。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
    <!-- 输出信息到控制台,用于开发调试 -->
    <appender name="myConsole" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="[%d{dd HH:mm:ss,SSS\} %-5p] [%t] (%F:%L) - %m%n"/>
        </layout>
        <!-- 日志过滤条件,输出哪些日志 -->
        <filter class="org.apache.log4j.varia.LevelRangeFilter">
            <!-- OFF FATAL ERROR WARN INFO DEBUG TRACE ALL -->
            <param name="levelMin" value="debug"/>
            <param name="levelMax" value="fatal"/>
            <param name="AcceptOnMatch" value="true"/>
        </filter>
    </appender>

    <!-- 输出信息到文件,每天产生一个日志文件 -->
    <appender name="myFile" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="${catalina.base}/logs/log4j.log"/>
        <param name="Append" value="true"/>
        <!-- 日志输出的最低等级 -->
        <param name="Threshold" value="debug"/>
        <param name="MaxFileSize" value="100MB"/>
        <param name="MaxBackupIndex" value="10"/>
        <param name="DatePattern" value="‘.‘yyyy-MM-dd"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="[%d{dd HH:mm:ss,SSS\} %-5p] [%t] (%F:%L) - %m%n"/>
        </layout>
    </appender>

    <!-- 日志记录器 -->
    <logger name="com.learn.spring.server" additivity="false">
        <!-- Logger中定义的level和appender中的filter定义的level的区间取交集 -->
        <level value="INFO"/>
        <!-- 默认作用于所有的appender -->
        <appender-ref ref="myConsole"/>
        <appender-ref ref="myFile"/>
    </logger>

    <root>
        <priority value="ALL"/>
        <appender-ref ref="myConsole"/>
    </root>
</log4j:configuration>

 

4.日志信息格式中的符号含义

%p: 输出日志信息优先级,即TRACE,DEBUG,INFO,WARN,ERROR,FATAL
%d: 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式
%r: 输出自应用启动到输出该log信息耗费的毫秒数
%c: 输出日志信息所属的类目,通常就是所在类的全名
%t: 输出产生该日志事件的线程名
%l: 输出日志事件的发生位置,相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及在代码中的行数
%x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中
%%: 输出一个"%"字符
%F: 输出日志消息产生时所在的文件名称
%L: 输出代码中的行号
%m: 输出代码中指定的消息,产生的日志具体信息
%n: 输出一个回车换行符,Windows平台为"/r/n",Unix平台为"/n"输出日志信息换行

 

Spring集成Log4j日志框架

标签:ack   接口   api   java   erro   href   com   param   info   

原文地址:http://www.cnblogs.com/faramita2016/p/7512435.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!