blob: 6ec77259809b1350717853880874367bc4928bff [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_55) on Wed Oct 22 07:01:18 CEST 2014 -->
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>MdcInjectionFilter (Apache MINA 2.0.9 API)</title>
<meta name="date" content="2014-10-22">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="MdcInjectionFilter (Apache MINA 2.0.9 API)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/MdcInjectionFilter.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/mina/filter/logging/LogLevel.html" title="enum in org.apache.mina.filter.logging"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/mina/filter/logging/MdcInjectionFilter.MdcKey.html" title="enum in org.apache.mina.filter.logging"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/mina/filter/logging/MdcInjectionFilter.html" target="_top">Frames</a></li>
<li><a href="MdcInjectionFilter.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.mina.filter.logging</div>
<h2 title="Class MdcInjectionFilter" class="title">Class MdcInjectionFilter</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html" title="class in org.apache.mina.core.filterchain">org.apache.mina.core.filterchain.IoFilterAdapter</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/mina/filter/util/CommonEventFilter.html" title="class in org.apache.mina.filter.util">org.apache.mina.filter.util.CommonEventFilter</a></li>
<li>
<ul class="inheritance">
<li>org.apache.mina.filter.logging.MdcInjectionFilter</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter</a></dd>
</dl>
<hr>
<br>
<pre>public class <a href="../../../../../src-html/org/apache/mina/filter/logging/MdcInjectionFilter.html#line.73">MdcInjectionFilter</a>
extends <a href="../../../../../org/apache/mina/filter/util/CommonEventFilter.html" title="class in org.apache.mina.filter.util">CommonEventFilter</a></pre>
<div class="block">This filter will inject some key IoSession properties into the Mapped Diagnostic Context (MDC)
<p/>
These properties will be set in the MDC for all logging events that are generated
down the call stack, even in code that is not aware of MINA.
By default, the following properties will be set for all transports:
<ul>
<li>"handlerClass"</li>
<li>"remoteAddress"</li>
<li>"localAddress"</li>
</ul>
When <code>session.getTransportMetadata().getAddressType() == InetSocketAddress.class</code>
the following properties will also be set:
<ul>
<li>"remoteIp"</li>
<li>"remotePort"</li>
<li>"localIp"</li>
<li>"localPort"</li>
</ul>
User code can also add custom properties to the context, via <a href="../../../../../org/apache/mina/filter/logging/MdcInjectionFilter.html#setProperty(org.apache.mina.core.session.IoSession, java.lang.String, java.lang.String)"><code>setProperty(IoSession, String, String)</code></a>
If you only want the MDC to be set for the IoHandler code, it's enough to add
one MdcInjectionFilter at the end of the filter chain.
If you want the MDC to be set for ALL code, you should
add an MdcInjectionFilter to the start of the chain
and add that same MdcInjectionFilter instance after EVERY ExecutorFilter in the chain
Thus it's ok to have one instance of the MdcInjectionFilter and add it multiple times to the chain
but you should avoid adding multiple instances to the chain.</div>
<dl><dt><span class="strong">Author:</span></dt>
<dd><a href="http://mina.apache.org">Apache MINA Project</a></dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested_class_summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/filter/logging/MdcInjectionFilter.MdcKey.html" title="enum in org.apache.mina.filter.logging">MdcInjectionFilter.MdcKey</a></strong></code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="nested_classes_inherited_from_class_org.apache.mina.core.filterchain.IoFilter">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.mina.core.filterchain.<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter</a></h3>
<code><a href="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter.NextFilter</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/mina/filter/logging/MdcInjectionFilter.html#MdcInjectionFilter()">MdcInjectionFilter</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/mina/filter/logging/MdcInjectionFilter.html#MdcInjectionFilter(java.util.EnumSet)">MdcInjectionFilter</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;<a href="../../../../../org/apache/mina/filter/logging/MdcInjectionFilter.MdcKey.html" title="enum in org.apache.mina.filter.logging">MdcInjectionFilter.MdcKey</a>&gt;&nbsp;keys)</code>
<div class="block">Use this constructor when you want to specify which keys to add to the MDC.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/mina/filter/logging/MdcInjectionFilter.html#MdcInjectionFilter(org.apache.mina.filter.logging.MdcInjectionFilter.MdcKey...)">MdcInjectionFilter</a></strong>(<a href="../../../../../org/apache/mina/filter/logging/MdcInjectionFilter.MdcKey.html" title="enum in org.apache.mina.filter.logging">MdcInjectionFilter.MdcKey</a>...&nbsp;keys)</code>
<div class="block">Use this constructor when you want to specify which keys to add to the MDC
You could still add custom keys via <a href="../../../../../org/apache/mina/filter/logging/MdcInjectionFilter.html#setProperty(org.apache.mina.core.session.IoSession, java.lang.String, java.lang.String)"><code>setProperty(IoSession, String, String)</code></a></div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/filter/logging/MdcInjectionFilter.html#fillContext(org.apache.mina.core.session.IoSession, java.util.Map)">fillContext</a></strong>(<a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a>&nbsp;session,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;context)</code>
<div class="block">write key properties of the session to the Mapped Diagnostic Context
sub-classes could override this method to map more/other attributes</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/filter/logging/MdcInjectionFilter.html#filter(org.apache.mina.core.filterchain.IoFilterEvent)">filter</a></strong>(<a href="../../../../../org/apache/mina/core/filterchain/IoFilterEvent.html" title="class in org.apache.mina.core.filterchain">IoFilterEvent</a>&nbsp;event)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/filter/logging/MdcInjectionFilter.html#getProperty(org.apache.mina.core.session.IoSession, java.lang.String)">getProperty</a></strong>(<a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a>&nbsp;session,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/filter/logging/MdcInjectionFilter.html#removeProperty(org.apache.mina.core.session.IoSession, java.lang.String)">removeProperty</a></strong>(<a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a>&nbsp;session,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/filter/logging/MdcInjectionFilter.html#setProperty(org.apache.mina.core.session.IoSession, java.lang.String, java.lang.String)">setProperty</a></strong>(<a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a>&nbsp;session,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</code>
<div class="block">Add a property to the context for the given session
This property will be added to the MDC for all subsequent events</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.mina.filter.util.CommonEventFilter">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.mina.filter.util.<a href="../../../../../org/apache/mina/filter/util/CommonEventFilter.html" title="class in org.apache.mina.filter.util">CommonEventFilter</a></h3>
<code><a href="../../../../../org/apache/mina/filter/util/CommonEventFilter.html#exceptionCaught(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession, java.lang.Throwable)">exceptionCaught</a>, <a href="../../../../../org/apache/mina/filter/util/CommonEventFilter.html#filterClose(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession)">filterClose</a>, <a href="../../../../../org/apache/mina/filter/util/CommonEventFilter.html#filterWrite(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession, org.apache.mina.core.write.WriteRequest)">filterWrite</a>, <a href="../../../../../org/apache/mina/filter/util/CommonEventFilter.html#messageReceived(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession, java.lang.Object)">messageReceived</a>, <a href="../../../../../org/apache/mina/filter/util/CommonEventFilter.html#messageSent(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession, org.apache.mina.core.write.WriteRequest)">messageSent</a>, <a href="../../../../../org/apache/mina/filter/util/CommonEventFilter.html#sessionClosed(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession)">sessionClosed</a>, <a href="../../../../../org/apache/mina/filter/util/CommonEventFilter.html#sessionCreated(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession)">sessionCreated</a>, <a href="../../../../../org/apache/mina/filter/util/CommonEventFilter.html#sessionIdle(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession, org.apache.mina.core.session.IdleStatus)">sessionIdle</a>, <a href="../../../../../org/apache/mina/filter/util/CommonEventFilter.html#sessionOpened(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession)">sessionOpened</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.mina.core.filterchain.IoFilterAdapter">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.mina.core.filterchain.<a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html" title="class in org.apache.mina.core.filterchain">IoFilterAdapter</a></h3>
<code><a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#destroy()">destroy</a>, <a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#init()">init</a>, <a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#inputClosed(org.apache.mina.core.filterchain.IoFilter.NextFilter, org.apache.mina.core.session.IoSession)">inputClosed</a>, <a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#onPostAdd(org.apache.mina.core.filterchain.IoFilterChain, java.lang.String, org.apache.mina.core.filterchain.IoFilter.NextFilter)">onPostAdd</a>, <a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#onPostRemove(org.apache.mina.core.filterchain.IoFilterChain, java.lang.String, org.apache.mina.core.filterchain.IoFilter.NextFilter)">onPostRemove</a>, <a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#onPreAdd(org.apache.mina.core.filterchain.IoFilterChain, java.lang.String, org.apache.mina.core.filterchain.IoFilter.NextFilter)">onPreAdd</a>, <a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#onPreRemove(org.apache.mina.core.filterchain.IoFilterChain, java.lang.String, org.apache.mina.core.filterchain.IoFilter.NextFilter)">onPreRemove</a>, <a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#toString()">toString</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="MdcInjectionFilter(java.util.EnumSet)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MdcInjectionFilter</h4>
<pre>public&nbsp;<a href="../../../../../src-html/org/apache/mina/filter/logging/MdcInjectionFilter.html#line.98">MdcInjectionFilter</a>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;<a href="../../../../../org/apache/mina/filter/logging/MdcInjectionFilter.MdcKey.html" title="enum in org.apache.mina.filter.logging">MdcInjectionFilter.MdcKey</a>&gt;&nbsp;keys)</pre>
<div class="block">Use this constructor when you want to specify which keys to add to the MDC.
You could still add custom keys via <a href="../../../../../org/apache/mina/filter/logging/MdcInjectionFilter.html#setProperty(org.apache.mina.core.session.IoSession, java.lang.String, java.lang.String)"><code>setProperty(IoSession, String, String)</code></a></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>keys</code> - set of keys that should be added to the MDC</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/mina/filter/logging/MdcInjectionFilter.html#setProperty(org.apache.mina.core.session.IoSession, java.lang.String, java.lang.String)"><code>setProperty(org.apache.mina.core.session.IoSession, String, String)</code></a></dd></dl>
</li>
</ul>
<a name="MdcInjectionFilter(org.apache.mina.filter.logging.MdcInjectionFilter.MdcKey...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MdcInjectionFilter</h4>
<pre>public&nbsp;<a href="../../../../../src-html/org/apache/mina/filter/logging/MdcInjectionFilter.html#line.109">MdcInjectionFilter</a>(<a href="../../../../../org/apache/mina/filter/logging/MdcInjectionFilter.MdcKey.html" title="enum in org.apache.mina.filter.logging">MdcInjectionFilter.MdcKey</a>...&nbsp;keys)</pre>
<div class="block">Use this constructor when you want to specify which keys to add to the MDC
You could still add custom keys via <a href="../../../../../org/apache/mina/filter/logging/MdcInjectionFilter.html#setProperty(org.apache.mina.core.session.IoSession, java.lang.String, java.lang.String)"><code>setProperty(IoSession, String, String)</code></a></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>keys</code> - list of keys that should be added to the MDC</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/mina/filter/logging/MdcInjectionFilter.html#setProperty(org.apache.mina.core.session.IoSession, java.lang.String, java.lang.String)"><code>setProperty(org.apache.mina.core.session.IoSession, String, String)</code></a></dd></dl>
</li>
</ul>
<a name="MdcInjectionFilter()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>MdcInjectionFilter</h4>
<pre>public&nbsp;<a href="../../../../../src-html/org/apache/mina/filter/logging/MdcInjectionFilter.html#line.114">MdcInjectionFilter</a>()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="filter(org.apache.mina.core.filterchain.IoFilterEvent)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>filter</h4>
<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/mina/filter/logging/MdcInjectionFilter.html#line.119">filter</a>(<a href="../../../../../org/apache/mina/core/filterchain/IoFilterEvent.html" title="class in org.apache.mina.core.filterchain">IoFilterEvent</a>&nbsp;event)
throws <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/filter/util/CommonEventFilter.html#filter(org.apache.mina.core.filterchain.IoFilterEvent)">filter</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/mina/filter/util/CommonEventFilter.html" title="class in org.apache.mina.filter.util">CommonEventFilter</a></code></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
</li>
</ul>
<a name="fillContext(org.apache.mina.core.session.IoSession, java.util.Map)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fillContext</h4>
<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/mina/filter/logging/MdcInjectionFilter.html#line.173">fillContext</a>(<a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a>&nbsp;session,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;context)</pre>
<div class="block">write key properties of the session to the Mapped Diagnostic Context
sub-classes could override this method to map more/other attributes</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>session</code> - the session to map</dd><dd><code>context</code> - key properties will be added to this map</dd></dl>
</li>
</ul>
<a name="getProperty(org.apache.mina.core.session.IoSession, java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProperty</h4>
<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/mina/filter/logging/MdcInjectionFilter.html#line.202">getProperty</a>(<a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a>&nbsp;session,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
</li>
</ul>
<a name="setProperty(org.apache.mina.core.session.IoSession, java.lang.String, java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setProperty</h4>
<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/mina/filter/logging/MdcInjectionFilter.html#line.223">setProperty</a>(<a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a>&nbsp;session,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
<div class="block">Add a property to the context for the given session
This property will be added to the MDC for all subsequent events</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>session</code> - The session for which you want to set a property</dd><dd><code>key</code> - The name of the property (should not be null)</dd><dd><code>value</code> - The value of the property</dd></dl>
</li>
</ul>
<a name="removeProperty(org.apache.mina.core.session.IoSession, java.lang.String)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>removeProperty</h4>
<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/mina/filter/logging/MdcInjectionFilter.html#line.235">removeProperty</a>(<a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a>&nbsp;session,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/MdcInjectionFilter.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/mina/filter/logging/LogLevel.html" title="enum in org.apache.mina.filter.logging"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/mina/filter/logging/MdcInjectionFilter.MdcKey.html" title="enum in org.apache.mina.filter.logging"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/mina/filter/logging/MdcInjectionFilter.html" target="_top">Frames</a></li>
<li><a href="MdcInjectionFilter.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2004&#x2013;2014 <a href="http://mina.apache.org/">Apache MINA Project</a>. All rights reserved.</small></p>
</body>
</html>