J2EE spring日志

来源:互联网 发布:淘宝网金丝绒 编辑:程序博客网 时间:2024/06/16 01:54
1、日志
web.xml
    <!-- log4j的配置 -->
    <context-param>
        <param-name>log4jConfigLocation</param-name>
        <param-value>classpath:conf/spring/log4j.xml</param-value>
    </context-param>
    <context-param>
        <param-name>log4jRefreshInterval</param-name>
        <param-value>60000</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
    </listener>
    
log4j.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>

    <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="[%p][%d{ISO8601}][%t][%c][%m]%n" />
        </layout>
    </appender>
    <!--
        输出方式appender一般有5种:
             org.apache.log4j.RollingFileAppender(滚动文件,自动记录最新日志)
             org.apache.log4j.ConsoleAppender (控制台)  
             org.apache.log4j.FileAppender (文件)
             org.apache.log4j.DailyRollingFileAppender (每天产生一个日志文件)
             org.apache.log4j.WriterAppender (将日志信息以流格式发送到任意指定的地方)
    -->
    <appender name="DEBUG" class="org.apache.log4j.RollingFileAppender">
        <!--相对于应用服务器的输出路径:jboss容器bin目录下。系统服务启动前,先创建文件-->
        <param name="File" value="smp/log/debug/app-debug.log" />
        <!--是否追加写入文件: true-是 false-否 -->
        <param name="Append" value="true" />
        <!--日志文件大小最大值:30MB -->
        <param name="MaxFileSize" value="30MB" />
        <!--备份文件数量:100个 -->
        <param name="MaxBackupIndex" value="100" />
        <!--输出的日志文件格式,根据操作系统编码指定-->
        <param name="Encoding" value="UTF8" />
        <!--日志输出格式-->
        <!--
            %c    输出所属类的全名,可在修改为 %d{Num} ,Num类名输出的维度(如:"org.apache.elathen.ClassName",%C{2}将输出elathen.ClassName)
            %d    输出日志时间其格式为 %d{yyyy-MM-dd HH:mm:ss,SSS},可指定格式 如 %d{HH:mm:ss}
            %l    输出日志事件发生位置,包括类目名、发生线程,在代码中的行数
            %n    换行符
            %m    输出代码指定信息,如info(“message”),输出message
            %p    输出优先级,即 FATAL ,ERROR 等
            %r    输出从启动到显示该log信息所耗费的毫秒数
            %t    输出产生该日志事件的线程名
         -->
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="[%p][%d{ISO8601}][%t][%c][%m]%n" />
        </layout>
        <!--日志级别过滤器:LevelMin表示最小的级别,LevelMax表示最大的级别,建议不做改动-->
        <filter class="org.apache.log4j.varia.LevelRangeFilter">
            <param name="LevelMin" value="DEBUG" />
            <param name="LevelMax" value="DEBUG" />
        </filter>
    </appender>
    
    <appender name="INFO" class="org.apache.log4j.RollingFileAppender">
        <param name="File" value="smp/log/info/app-info.log" />
        <param name="Append" value="true" />
        <param name="MaxFileSize" value="30MB" />
        <param name="MaxBackupIndex" value="100" />
        <param name="Encoding" value="UTF8" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="[%p][%d{ISO8601}][%t][%c][%m]%n" />
        </layout>
        <filter class="org.apache.log4j.varia.LevelRangeFilter">
            <param name="LevelMin" value="INFO" />
            <param name="LevelMax" value="INFO" />
        </filter>
    </appender>
    
    <appender name="WARN" class="org.apache.log4j.RollingFileAppender">
        <param name="File" value="smp/log/warn/app-warn.log" />
        <param name="Append" value="true" />
        <param name="MaxFileSize" value="30MB" />
        <param name="MaxBackupIndex" value="100" />
        <param name="Encoding" value="UTF8" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="[%p][%d{ISO8601}][%t][%c][%m]%n" />
        </layout>
        <filter class="org.apache.log4j.varia.LevelRangeFilter">
            <param name="LevelMin" value="WARN" />
            <param name="LevelMax" value="WARN" />
        </filter>
    </appender>
    
    <appender name="ERROR" class="org.apache.log4j.RollingFileAppender">
        <param name="File" value="smp/log/error/app-error.log" />
        <param name="Append" value="true" />
        <param name="MaxFileSize" value="30MB" />
        <param name="MaxBackupIndex" value="100" />
        <param name="Encoding" value="UTF8" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="[%p][%d{ISO8601}][%t][%c][%m]%n" />
        </layout>
        <filter class="org.apache.log4j.varia.LevelRangeFilter">
            <param name="LevelMin" value="ERROR" />
            <param name="LevelMax" value="ERROR" />
        </filter>
    </appender>

    <!-- ==================ibatis输入日志,用于开发阶段使用====================== -->
    <logger name="com.ibatis">
        <level value="info" />
    </logger>
    <logger name="com.ibatis.common.jdbc.SimpleDataSource">
        <level value="info" />
    </logger>
    <logger name="com.ibatis.common.jdbc.ScriptRunner">
        <level value="info" />
    </logger>
    <logger name="com.ibatis.common.jdbc.SqlMapClientDelegate">
        <level value="info" />
    </logger>
    <logger name="java.sql.Connection">
        <level value="info" />
    </logger>
    <logger name="java.sql.Statement">
        <level value="info" />
    </logger>
    <logger name="java.sql.PreparedStatement">
        <level value="info" />
    </logger>
    <logger name="java.sql.ResultSet">
        <level value="info" />
    </logger>
    <logger name="org">
        <level value="error" />
    </logger>
    <logger name="com.mchange">
        <level value="info" />
    </logger>
    <logger name="com.opensymphony">
        <level value="OFF" />
    </logger>
    <logger name="freemarker">
        <level value="info" />
    </logger>

    <root>
        <!--定义日志的最低输出级别,优先级由高到低分为:OFF ,FATAL ,ERROR ,WARN ,INFO ,DEBUG ,ALL-->
        <priority value="DEBUG" />
        <!--引用的日志记录器-->
        <appender-ref ref="STDOUT" />
        <appender-ref ref="DEBUG" />
        <appender-ref ref="INFO" />
        <appender-ref ref="WARN" />
        <appender-ref ref="ERROR" />
    </root>
</log4j:configuration>
0 0
原创粉丝点击