zoukankan      html  css  js  c++  java
  • Log4j分级别存储日志到数据库

    首先先创建三张表,按照自己的需求创建

    <?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="[%d{yyyy-MM-dd HH:mm:ss}] %X{ip} %t %p %c————%X{name} %m%n" />
            </layout>
        </appender>
    
        <appender name="INFO" class="org.apache.log4j.jdbc.JDBCAppender">
            <param name="URL" value="jdbc:mysql://IP:3306/log_repository?useUnicode=true&amp;characterEncoding=UTF-8"/>
            <param name="user" value="****"/> 
            <param name="password" value="****"/> 
            <param name="driver" value="com.mysql.jdbc.Driver"/>
            <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="INSERT INTO sys_log_info(userId,name,log_time,log_level,location,message)VALUES('%X{userId}','%X{name}','%d{yyyy-MM-dd HH:mm:ss}','%p','%l','%m')"/>
            </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.jdbc.JDBCAppender">
            <param name="URL" value="jdbc:mysql://IP:3306/log_repository?useUnicode=true&amp;characterEncoding=UTF-8"/>
            <param name="user" value="****"/> 
            <param name="password" value="****"/> 
            <param name="driver" value="com.mysql.jdbc.Driver"/>
            <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="INSERT INTO sys_log_warn(userId,name,log_time,log_level,location,message)VALUES('%X{userId}','%X{name}','%d{yyyy-MM-dd HH:mm:ss}','%p','%l','%m')"/>
            </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.jdbc.JDBCAppender">
            <param name="URL" value="jdbc:mysql://IP:3306/log_repository?useUnicode=true&amp;characterEncoding=UTF-8"/>
            <param name="user" value="****"/> 
            <param name="password" value="****"/> 
            <param name="driver" value="com.mysql.jdbc.Driver"/>
            <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="INSERT INTO sys_log_error(userId,name,log_time,log_level,location,message)VALUES('%X{userId}','%X{name}','%d{yyyy-MM-dd HH:mm:ss}','%p','%l','%m')"/>
            </layout>
            <filter class="org.apache.log4j.varia.LevelRangeFilter">
                <!-- 设置日志输出的最小级别 -->
                <param name="LevelMin" value="ERROR" />
                <!-- 设置日志输出的最大级别 -->
                <param name="LevelMax" value="ERROR" />
            </filter>
        </appender>
    
        <root>
            <priority value="debug" />
            <appender-ref ref="STDOUT" />
            <appender-ref ref="INFO" />
            <appender-ref ref="WARN" />
            <appender-ref ref="ERROR" />
        </root>
    </log4j:configuration>
  • 相关阅读:
    网络摄像头监控中什么情况下需要使用流媒体转发服务器?
    流媒体播放器播放h264编码视频与h265编码视频哪个更清晰?
    RTMP推流视频流媒体服务如何实现网络传输?
    web视频直播服务器更改端口号后录像功能失效问题解决
    互联网视频直播/点播流媒体服务器使用http和rtmp做点播时有什么区别?
    视频互联网直播/点播服务器中关于内容分发CDN的相关问题汇总
    网页直播系统推流端和拉流端都有哪些环节?
    自建视频流媒体服务器需要满足哪些条件?
    线上课堂教育行业选择互动直播时有哪些直播方案?
    互联网直播点播平台在进行iframe直播分享时如何禁止本地视频自动播放?
  • 原文地址:https://www.cnblogs.com/java-spring/p/8434238.html
Copyright © 2011-2022 走看看