J2EE社區

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

          導航

          留言簿(30)

          隨筆分類(219)

          友情鏈接

          搜索

          •  

          積分與排名

          • 積分 - 1166878
          • 排名 - 25

          最新隨筆

          最新評論

          閱讀排行榜

          log4j 獲取動態參數

          Posted on 2012-11-06 16:34 xcp 閱讀(4925) 評論(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 獲取動態參數
          re: log4j 獲取動態參數
          主站蜘蛛池模板: 琼结县| 大化| 宁乡县| 晋宁县| 南京市| 佛坪县| 怀宁县| 保靖县| 渭源县| 玉溪市| 澄城县| 宕昌县| 南部县| 兴安县| 汝州市| 平远县| 许昌市| 巴林右旗| 涡阳县| 漯河市| 苏尼特右旗| 青田县| 霍州市| 岳普湖县| 两当县| 砀山县| 泸定县| 龙岩市| 龙州县| 盖州市| 湛江市| 沽源县| 朝阳县| 北海市| 米林县| 扎鲁特旗| 封丘县| 武夷山市| 西平县| 广德县| 望奎县|