log4j 自定义的参数在业务中怎样获取?

问题描述

log4j.rootLogger=DEBUG,DATABASE log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender log4j.appender.DATABASE.URL=jdbc:db2://10.1.16.210:50000/TKLPF_DBlog4j.appender.DATABASE.driver=com.ibm.db2.jcc.DB2Driverlog4j.appender.DATABASE.user=administratorlog4j.appender.DATABASE.password=tkfzxmm!**188log4j.appender.DATABASE.Threshold=DEBUGlog4j.appender.DATABASE.sql=INSERT INTO NULLID.zw_system_log (SYSTEM_LOG_ID,LOGIN_ID,PERSON_NAME,OPERATE_DESCRIPTION,MODULE_NAME,MODULE_CODE,OPERATION_TYPE,OPERATE_DT, STATUS, UPDATER, UPDATE_DT) VALUES ('SYSTEM_LOG_ID','LOGIN_ID', '%X{PERSON_NAME}', 'OPERATE_DESCRIPTION', 'MODULE_NAME', 'MODULE_CODE','OPERATION_TYPE', 'OPERATE_DT', '1', 'UPDATER', '%d{yyyyMMddHHmmss}')log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout log4j.appender.DATABASE.layout.ConversionPattern=[ejunnet] %d - %c -%-4r [%t] %-5p %c %x - %m%nlog4j.appender.A1=org.apache.log4j.DailyRollingFileAppender SYSTEM_LOG_ID是主键,但是用的是DB2数据库现在自增也不可以像后面的一些字段都是自定义的,但是不知道后台怎么获取。查了一些资料,他们获取的都是session中的Id和name,但是我的很多都没在session中放着,我该如何获取?急用,谢谢! 问题补充:iihero 写道

解决方案

楼主是不是需要log的MDC上设置一下,详情可见:http://blog.donews.com/ooFrank/archive/2006/02/11/722553.aspx
解决方案二:
引用好的,谢谢啊! 但是我的就是不成功啊,不知道什么原因。数据库不一样有差别吗?实在不行的话,你可以debug看看最后生成的sql是什么:)
解决方案三:
引用现在我要把这些字段全放到log4j中去,是不是要在UserFilter这个类中把他们get或set呢? 刚开始接触还是很迷茫,谢谢......是的 ,希望可以帮到你
解决方案四:
引用<filter> <filter-name>set log4j MDC for log2userId(这是什么意思啊,有点不懂)</filter-name> <filter-class>UserFilter</filter-class> </filter> <filter-mapping> <filter-name>set log4j MDC for log2userId</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> set log4j MDC for log2userId 这个只是一个名字。具体可以看一下 UserFilter这个类,你可以从任何地方,把值放入到MDC,并且指定相应的名字,这样,就能在log中打上了。
解决方案五:
没有字段值来源的应该可以不指定值吧。只取部分列试试。

时间: 2024-10-09 10:30:13

log4j 自定义的参数在业务中怎样获取?的相关文章

javascript中自定义函数参数添加默认值实现方法

最近在Codewars上面看到一道很好的题目,要求用JS写一个函数defaultArguments,用来给指定的函数的某些参数添加默认值.举例来说就是: // foo函数有一个参数,名为xvar foo_ = defaultArguments(foo, {x:3});// foo_是一个函数,调用它会返回foo函数的结果,同时x具有默认值3 下面是一个具体的例子: function add(a, b) {return a+b;} // 给add函数的参数b添加默认值3 var add_ = de

Android在自定义View(SurfaceView)中实现进度条Progress

http://www.havenliu.com/java/689.html Android本身带有Progress控件.可以在布局中灵活使用,但如果是在自定义的View或者SurfaceView中使用,就需要自己实现,其实不难,只要熟悉了android的PorterDuff,就能利用PorterDuff的遮罩效果方便的实现进度条. PorterDuff.Mode的灵活使用可以实现很多强大的功能,比如以前比较流行的美女擦玻璃,在屏幕上用手指绘图或橡皮檫等功能. 下面是源码,老规矩,完整源码中文章末

android开发-自定义roundProgressBar,在xml中定义组件属性,无法生效

问题描述 自定义roundProgressBar,在xml中定义组件属性,无法生效 我从网上找到了自定义roundProgressBar的代码,使用之后,发现在xml中定义组建的属性没有作用,生成的roundProgressBar只是使用了默认配置 attributes: <!-- max 最大进度 startAngle 进度从圆环的哪个角度开始走 backColor 圆环内部的填充色 roundColor 圆环的颜色 roundProgressColor 圆环进度的颜色 roundWidth

解决Zabbix自定义用户参数无法获取到数据的问题

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://dgd2010.blog.51cto.com/1539422/1676500 今天在一台被监控的主机上写了一个用户参数(UserParameter),用于监控这台主机上的一个pid,还有一些别的用户参数,其他的用户参数都正确获得了,唯独这个后加的pid始终没有获得到数据,服务和日志都重启查看了,没有任何报错,也试过将pid的这个值设置成text和number,但都始终无法获取到这

深入浅析java web log4j 配置及在web项目中配置Log4j的技巧_java

在上篇文章给大家介绍了Java log4j详细教程,本文给大家介绍java web log4j配置及web项目中配置log4j的技巧.具体详情请看下文吧. 首先给大家提供log4j.jar下载:http://logging.apache.org/log4j/1.2/download.html 一.java web项目使用log4j 1.在web.xml文件中添加 <!-- 配置log4j --> <context-param> <param-name>webAppRoo

一步一步自定义SpringMVC参数解析器

随心所欲,自定义参数解析器绑定数据. 题图:from Zoommy 干货 SpringMVC解析器用于解析request请求参数并绑定数据到Controller的入参上. 自定义一个参数解析器需要实现HandlerMethodArgumentResolver接口,重写supportsParameter和resolveArgument方法,配置文件中加入resolver配置. 如果需要多个解析器同时生效需要在一个解析器中对其他解析器做兼容 缘起 为什么要自定义一个解析器呢? 源于需要对前端请求参数

MS CRM 2011 如何配置表单接受自定义Querystring参数

在前面的两篇文章中,我分别介绍了如何自定义Ribbon按钮并向其传递参数以及Ribbon按钮与其背后JScript的工作原理.在这篇文章中,我结合前面介绍到的知识,再为大家演示一下如何在表单中传递自定义的参数. 我们还是以扩展Connect按钮为例子,这一节我们安排"To Interest http://www.aliyun.com/zixun/aggregation/16860.html">Partner"这个子选项多做一些事情.如果你点击"Connect

Peacock:大规模主题模型及其在腾讯业务中的应用

编者注:12月14日,腾讯 广点通高级研究员靳志辉在2014中国大数据技术大会上发表演讲,题为<Peacock: 大规模主题模型及其在腾讯业务中的应用>,以下为作者演讲实录.大家好,我来自腾讯的效果广告平台部,参与开发的广告平台是广点通,广点通目前是腾讯最大的效果广告平台,每天承接的流量接近150亿PV,未来其实应该会达到200亿PV的流量,这是非常海量的流量.作为技术人员,我们在腾讯的梦想就是希望腾讯变成更加技术型的公司.我们团队在广告部门所负责的主要工作是各种机器学习工具的开发,以及利用机

c语言中怎么把一个大小不确定的二维数组当作参数传入函数中

问题描述 c语言中怎么把一个大小不确定的二维数组当作参数传入函数中 c语言中怎么把一个大小不确定的二维数组当作参数传入函数中,取大神,取大神,取大神 解决方案 用VC++新建一个程序,默认生成的main函数定义如下 int mian(int argc, char* args[]) 这就是一个例子. 解决方案二: 一个表示长度的参数,一个指向二维数组的指针 解决方案三: fun(args[][],int rows,int cols) 解决方案四: void Func(int array[][10]