`
hunray
  • 浏览: 219310 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

log4j指定输出源append、存入数据库并自定义参数

    博客分类:
  • Java
阅读更多
在log4j中可以指定特定的输出源append。在数据库记录日志时,可以将日志文件记录到多个数据库表中。
# This is the configuring for logging displayed in the Application Server
log4j.rootCategory=DEBUG,logfile,stdout

log4j.logger.SYSTEM = INFO,JDBC
log4j.logger.OPERATION = INFO,JDBC2

#stdout configure
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern= %d %p [%c] - <%m>%n

#logfile configure
log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.File=../logs/moca_stm_stm.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern= %d{yyyy MM dd HH:mm:ss} %p [%c] - <%m>%n

#JDBC configure
log4j.appender.JDBC.Threshold=INFO
log4j.appender.JDBC=org.apache.log4j.jdbc.JDBCAppender 
log4j.appender.JDBC.driver=oracle.jdbc.driver.OracleDriver
log4j.appender.JDBC.URL=jdbc:oracle:thin:@192.168.140.13:1521:DMPT
log4j.appender.JDBC.user=moca_stm
log4j.appender.JDBC.password=moca_stm
log4j.appender.JDBC.layout=org.apache.log4j.PatternLayout
log4j.appender.JDBC.sql=INSERT INTO XK_SYS_LOG(USERID,LOGTIME,LOGLEVEL,LOCATION,MESSAGE)VALUES('%X{userId}','%d{yyyy-MM-dd HH:mm:ss}','%p','%l','%m')


log4j.appender.JDBC2.Threshold=INFO
log4j.appender.JDBC2=org.apache.log4j.jdbc.JDBCAppender 
log4j.appender.JDBC2.driver=oracle.jdbc.driver.OracleDriver
log4j.appender.JDBC2.URL=jdbc:oracle:thin:@192.168.140.13:1521:DMPT
log4j.appender.JDBC2.user=moca_stm
log4j.appender.JDBC2.password=moca_stm
log4j.appender.JDBC2.layout=org.apache.log4j.PatternLayout
log4j.appender.JDBC2.sql=INSERT INTO XK_SYS_LOG_2(USERID,LOGTIME,LOGLEVEL,LOCATION,MESSAGE)VALUES('%X{userId}','%d{yyyy-MM-dd HH:mm:ss}','%p','%l','%m')



测试类

package test;

import org.apache.log4j.Logger;
import org.apache.log4j.MDC;

public class LogTest {
	private static Logger logger = Logger.getLogger("OPERATION");
	//private static Logger logger = Logger.getLogger("SYSTEM");
	//private static Logger logger = Logger.getLogger(LogTest.class);
	public static void main(String[] args) {
		MDC.put("userId", "用户ID");
		logger.error("testError");   
	}
}



分享到:
评论
2 楼 tonytony3 2011-11-17  
Thank you so much!
1 楼 gubingo 2010-09-29  
可以给我详细讲解一下吗?

我们是在做一个具体的业务操作了,再存入数据库,是自己规定好是数据库表

xx人  时间     具体义务操作     。。。

数据库就这个样子。。要怎么在我的项目里实现log4j存入数据库呢??



359607129@qq.com

相关推荐

    log4j日志驱动包

    Log4j比较全面的配置 log4j.rootLogger=DEBUG,CONSOLE,A1,im log4j.addivity.org.apache=true # 应用于控制台 log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.Threshold=DEBUG log4j....

    Log4j日志包

    log4j.appender.testfile.Append=false log4j.appender.testfile.layout=org.apache.log4j.HTMLLayout log4j.appender.testfile.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n ####...

    log4j_properties配置详解

    ### set log levels ###log4j.rootLogger = debug , stdout , D , E### 输出到控制台 ###log4j.appender.stdout =org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target =System.outlog4j.appender.stdout....

    保证看完就用log4j

    log4j.appender.llg.Append=true #文件最大的物理大小 #配置日志文件的最大物理容量 log4j.appender.llg.MaxFileSize=1024KB #没明白 log4j.appender.llg.MaxBackupIndex=1 #信息输出格式的类 log4j.appender.llg....

    log4cplus 源码(C++编写的开源的日志系统)

    log4cplus是C++编写的开源的日志系统,前身是java编写的log4j系统.受Apache Software License保护。作者是Tad E. Smith。log4cplus具有线程安全、灵活、以及多粒度控制的特点,通过将信息划分优先级使其可以面向程序...

    Python中循环后使用list.append()数据被覆盖问题的解决

    主要给大家介绍了关于Python中循环后使用list.append()数据被覆盖问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    简单易用的自定义标签分页显示

    sb.append("function goPage(cpage){").append("window.location='").append(action); sb.append("?currentPageNum='+").append("cpage"); sb.append("+'&onePageMaxNum='+").append("getMaxNum()"); sb.append...

    Append原理Append原理

    Append原理Append原理Append原理

    /* append*/ oracle append 知识点

    INSERT /*append */ INTO TABLE1 AS SELECT * FROM TABLE2;

    cra-append-sw:将自定义代码附加到由Create React App创建的ServiceWorker的实用工具

    cra-append-sw 将自定义代码附加到由ServiceWorker的实用工具。 它允许保留默认的CRA配置(不弹出)。 它只是将自定义代码附加到CRA构建脚本创建的ServiceWorker文件中。 默认情况下,它使用非常基本的Webpack + ...

    [详细完整版]数据库的维护.txt

    注意,一个字段的字段名、字段类型、字段宽度及小数位数四个参数中,每次只能修改其中一个参数,否则可能产生数据丢失;另外,修改类型时,也可能丢失数据。 二、数据库记录的修改 当数据输入数据库中,需要经常对...

    数据库生成append

    通过plsql生成拼接字符串; 替换PLSQL Developer 8.0.3.1510\SpecialCopy\中的Java.copy文件

    python城市数据,单独的市区,单独的省市区三级二个文件,附城市区二级导入mysql数据库代码

    sys.path.append(pwd+"../") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myapp.settings") import django django.setup() from apps.city.models import CityCategory from db.data.city_data ...

    Append.c源文件

    Append.c源文件

    20130310整理过的IP数据库只含省市地县数据mdb

    参数通过IP地址转换获得,胡方式为(c#) public static long ipToLong(String strIP) { long[] ip = new long[4]; string[] s = strIP.Split('.'); ip[0] = long.Parse(s[0]); ip[1] = long.Parse(s[1]); ip[2...

    前端开源库-vue-append

    前端开源库-vue-appendvue append,vue append,类似v-html指令,但它可以调用javascript函数

    Python append()函数在for循环中的覆盖问题解决文件

    文件就是一个python文件,里面有append()函数在for循环中使用出现覆盖的错误,并予以解决,配合本人博文内容《Python append()函数在for循环中的覆盖问题》观看更好

    批量Append

    可以将单个的MDB数据库,进行追加,最后所有的都追加到第一个数据库当中.具体可参考:http://blog.csdn.net/wl05031/article/details/18617073

    C++日志类libglog使用

    1, 参数设置,以命令行参数的方式设置标志参数来控制日志记录行为; 2, 严重性分级,根据日志严重性分级记录日志; 3, 可有条件地记录日志信息; 4, 条件中止程序。丰富的条件判定宏,可预设程序终止条件; 5, ...

    bind-append:使用给定的“ this”和附加的参数创建一个新函数

    并将参数附加到新的Function参数....而不是在他们之前安装npm i -S bind-append用var bindAppend = require ( 'bind-append' ) ;function linear ( x , a , b ) { return a + b * x ;}var fn = bindAppend ( linear ...

Global site tag (gtag.js) - Google Analytics