log4j 获取动态参数 -凯发k8网页登录

苟有恒,何必三更起五更眠;
最无益,只怕一日曝十日寒.
posts - 241, comments - 318, trackbacks - 0, articles - 16

log4j 获取动态参数

posted on 2012-11-06 16:34 xcp 阅读(4789) 评论(1)  编辑  收藏 所属分类: java

在log中必须先了解log4j自带的两个类mdc和ndc

ndc和mdc是log4j用于存储应用程序的上下文信息(context infomation),从而便于在log中使用这些上下文信息。
ndc采用了一个类似栈的机制来push存储上下文信息,每一个线程都独立地储存上下文信息。比如说一个servlet就可以针对每一个request创建对应的ndc,储存客户端地址等等信息。相关的信息使用ndc.push(message);
在log的时候将信息输出。在相应的patternlayout中使用”%x”来输出存储的上下文信息

例如:string remoteaddr = request.getremoteaddr();
ndc.push(remoteaddr);
在log4j.properties文件中作如下的配置即可
log4j.appender.console.layout.conversionpattern=%-d{yyyy/mm/dd hh:mm:ss,sss} [%x] -[%c]-[%p] %m%n


 


mdc内部使用了类似map的机制来存储信息,相对应的方法,mdc.put(key,value);在配置patternlayout的时候使用:%x{key}来输出对应的value
例如:string remoteaddr = request.getremoteaddr();
mdc.put("ip", remoteaddr);
在log4j.properties文件中作如下的配置即可
log4j.appender.console.layout.conversionpattern=%-d{yyyy/mm/dd hh:mm:ss,sss} [%x{ip}] -[%c]-[%p] %m%n

总:如果在项目中有过滤器或者模板action,你可以把获取公共的属性方法直接定义在里面,然后在配置文件中配置获取显示




名称: ♪4c.esl | .↗evon
口号: 遇到新问题♪先要寻找一个方案乄而不是创造一个方案こ
mail:


feedback

# re: log4j 获取动态参数  回复     

2013-01-28 10:19 by
re: log4j 获取动态参数
网站地图