log4j 日志入库

 

 

 日志入库,有时候真有这需要,看业务吧。。。。

技术上LOG4J对此提供了支持,org.apache.log4j.jdbc.JDBCAppender ,但没提供连接池,在实际应用中可自己扩展连接池。。。。。

 

主要配置vkj

 

<?xml version="1.0" encoding="UTF-8" ?>  

<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

 

<log4j:configuration>

<!-- 控制台 -->

<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">

<layout class="org.apache.log4j.PatternLayout">

<param name="ConversionPattern" value="%d - %c -%-4r [%t] %-5p %x - %m%n" />

</layout>

<!--限制输出级别 -->

<filter class="org.apache.log4j.varia.LevelRangeFilter">

<param name="LevelMax" value="ERROR" />

<param name="LevelMin" value="TRACE" />

</filter>

</appender>

<!-- 输出到日志文件 每天一个日志  -->  

    <appender name="filelog_daily" class="org.apache.log4j.DailyRollingFileAppender">     

        <param name="File" value="/data/javalog/app_logs/log.log" />     

        <param name="DatePattern" value="'log.'yyyy-MM-dd'.log'" />     

        <layout class="org.apache.log4j.PatternLayout">     

            <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss} %-5p] [%t] (%c:%L) - %m%n" />     

        </layout>     

    </appender>  

    <!-- 输出到数据库 -->

<appender name="DATABASE" class="org.apache.log4j.jdbc.JDBCAppender">

<param name="URL" value="jdbc:mysql://my-mnt-wrt.vip.mbbidc.net:3306/db_app_logs" />

<param name="driver" value="com.mysql.jdbc.Driver" />

<param name="user" value="db_app_log" />

<param name="password" value="M0kTOAm0qFzsqNtXBRTs" />

<layout class="org.apache.log4j.PatternLayout">

<param name="ConversionPattern"

value="INSERT INTO app_log (log_level,log_time,app_id,log_detail,server_ip,log_err_location) VALUES ('%p','%d{yyyy-MM-dd HH:mm:ss}',1000,'%c-%m%n','127.0.0.1','%l')" />

</layout>

<!--限制输出级别 -->

<filter class="org.apache.log4j.varia.LevelRangeFilter">

<param name="LevelMax" value="ERROR" />

<param name="LevelMin" value="WARN" />

</filter>

</appender>

 

<!-- 是否需要配置缓冲区 -->

<!-- 

<appender name="ASYNC" class="org.apache.log4j.AsyncAppender">

<param name="BufferSize" value="256" />

<appender-ref ref="DATABASE" />

</appender>

-->

<root>

<priority value="debug" />

<appender-ref ref="CONSOLE" />

<appender-ref ref="filelog_daily" />

<appender-ref ref="DATABASE" />

</root>

 

</log4j:configuration>

 

logs中就是为我们日常记录的日志文件,你要对起进行分析记录入表。 这些日志文件名都是有一定规则每小时生成一个。拿附件中的文件来说access_log.2009-04-30.17.log 表示2009年4月30日17时的数据。 记录到数据里对应的表为t_userviewlog 表结构如下: F_ID NUMBER(20) N 由名为SEQ_USERVIEWLOG_ID的SEQUENCES生成 F_PHONE VARCHAR2(20) Y 用户手机号 F_TIME VARCHAR2(14) N 访问时间 F_URL VARCHAR2(500) Y 访问的url F_STATECODE NUMBER(5) Y 页面返回状态 F_BYTE NUMBER(10) Y 流量 F_REFERURL VARCHAR2(500) Y 转向URL F_AGENTHEAD VARCHAR2(500) Y 用户手机UA信息 F_SSLMBM VARCHAR2(50) Y 栏目号 F_SSZYBM NUMBER(10) Y 炫铃编号 access_log.2009-04-30.17.log 的文件结构为 客户IP 访问时间 访问的方法、访问的URL、http协议 状态 流量 转向URL 用户UA 192.200.60.7 - - [30/Apr/2009:17:41:44 +0800] "GET /index?lanmu=00050001&PT=800:13115285540 HTTP/1.0" 200 8969 "-" "MAUI WAP Browser" 拿上面为例。是用户访问一个栏目的。访问的URL以/index开头。 要分析出参数名为lanmu值为00050001。这个是栏目号,另外到时这人URL里还会有phone=13115285540这个是代表手机号。也要分析出来。 192.200.60.7 - - [30/Apr/2009:17:41:29 +0800] "GET /um/rd.jsp?gameId=101&id=9009100083 HTTP/1.0" 200 1278 "-" "MAUI WAP Browser" 上面的是访问炫币的地址。以/um/rd.jsp开头 , 到时也会有phone参数要分析出来是用户手机号。参数id为炫铃的编号。也要记录下。 处理完文件后将文件拷贝到另一个目录
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值