[logback-dev] svn commit: r1065 - logback/trunk/logback-site/src/site/xdocTemplates/manual

noreply.seb at qos.ch noreply.seb at qos.ch
Wed Dec 6 10:10:06 CET 2006


Author: seb
Date: Wed Dec  6 10:10:06 2006
New Revision: 1065

Modified:
   logback/trunk/logback-site/src/site/xdocTemplates/manual/mdc.xml

Log:
chapter 7

Modified: logback/trunk/logback-site/src/site/xdocTemplates/manual/mdc.xml
==============================================================================
--- logback/trunk/logback-site/src/site/xdocTemplates/manual/mdc.xml	(original)
+++ logback/trunk/logback-site/src/site/xdocTemplates/manual/mdc.xml	Wed Dec  6 10:10:06 2006
@@ -53,7 +53,7 @@
 		<p> 
 				A lighter technique consists of uniquely stamping each 
 				log request servicing a given client. Neil Harrison described this method in the book 
-				<em>"Patterns for Logging Diagnostic Messages,"</em> in 
+				<em>Patterns for Logging Diagnostic Messages</em> in 
 				Pattern Languages of Program Design 3, edited by R. Martin, D. Riehle, 
 				and F. Buschmann (Addison-Wesley, 1997). Logback offers a variant of this technique: 
 				Mapped Diagnostic Contexts (MDC).
@@ -88,7 +88,7 @@
 
 		<p>
 			The <code>MDC</code> class contains only static methods. 
-			It lets the developer place information in a “diagnostic context” that can be 
+			It lets the developer place information in a <em>diagnostic context</em> that can be 
 			subsequently retrieved by certain logback components. The 
 			<code>MDC</code> manages contextual information on a per thread basis.  
 			Typically, while starting to service a new client request, the developer will 
@@ -226,7 +226,7 @@
 			an RMI Registry on the local host that accepts requests on a well-known port.  
 		</p>
 
-<em>Example 7.2: The server side (<a href="../xref/chapter7/NumberCruncherServer.html">
+<em>Example 7.3: The server side (<a href="../xref/chapter7/NumberCruncherServer.html">
 logback-examples/src/main/java/chapter7/NumberCruncherServer.java)</a></em>
 <div class="source"><pre>package chapter7;
 
@@ -386,7 +386,7 @@
 				<em>number</em>. After computing the distinct factors of the integer 
 				parameter, the result is returned to the client. Before returning the 
 				result however, the values for the <em>client</em> and <em>number</em> are 
-				cleared by calling the <code>MDC.remove(9</code> method. Normally, 
+				cleared by calling the <code>MDC.remove()</code> method. Normally, 
 				a <code>put()</code> operation should be balanced by the corresponding 
 				<code>remove()</code> operation. Otherwise, the <code>MDC</code> will 
 				contain stale values for certain keys. We would recommend that whenever 
@@ -404,7 +404,7 @@
 		<p>
 			The <em>mdc1.xml</em> configuration file is listed below:
 		</p>
-
+<em>Example 7.4: Configuration file (logback-examples/src/main/java/chapter7/mdc1.xml)</em>
 <div class="source"><pre>&lt;configuration>
 
   &lt;appender name="CONSOLE"
@@ -440,39 +440,50 @@
 		<p>
 			Executing multiple instances of the client and requesting the server to factor 
 			the numbers 129 from the first client and shortly thereafter 
-			the number 71 from the second client, the server outputs the following (edited to fit):
+			the number 71 from the second client, the server outputs the following:
 		</p>
 		
 <div class="source"><pre>
-70984 [RMI TCP Connection(4)-192.168.1.6] INFO  C:192.168.1.6 N:129 - Beginning to factor.
-70984 [RMI TCP Connection(4)-192.168.1.6] DEBUG C:192.168.1.6 N:129 - Trying 2 as a factor.
-71093 [RMI TCP Connection(4)-192.168.1.6] DEBUG C:192.168.1.6 N:129 - Trying 3 as a factor.
-71093 [RMI TCP Connection(4)-192.168.1.6] INFO  C:192.168.1.6 N:129 - Found factor 3
-71187 [RMI TCP Connection(4)-192.168.1.6] DEBUG C:192.168.1.6 N:129 - Trying 4 as a factor.
-71297 [RMI TCP Connection(4)-192.168.1.6] DEBUG C:192.168.1.6 N:129 - Trying 5 as a factor.
-71390 [RMI TCP Connection(4)-192.168.1.6] DEBUG C:192.168.1.6 N:129 - Trying 6 as a factor.
-71453 [RMI TCP Connection(5)-192.168.1.6] INFO  C:192.168.1.6 N:71 - Beginning to factor.
-71453 [RMI TCP Connection(5)-192.168.1.6] DEBUG C:192.168.1.6 N:71 - Trying 2 as a factor.
-71484 [RMI TCP Connection(4)-192.168.1.6] DEBUG C:192.168.1.6 N:129 - Trying 7 as a factor.
-71547 [RMI TCP Connection(5)-192.168.1.6] DEBUG C:192.168.1.6 N:71 - Trying 3 as a factor.
-71593 [RMI TCP Connection(4)-192.168.1.6] DEBUG C:192.168.1.6 N:129 - Trying 8 as a factor.
-71656 [RMI TCP Connection(5)-192.168.1.6] DEBUG C:192.168.1.6 N:71 - Trying 4 as a factor.
-71687 [RMI TCP Connection(4)-192.168.1.6] DEBUG C:192.168.1.6 N:129 - Trying 9 as a factor.
-71750 [RMI TCP Connection(5)-192.168.1.6] DEBUG C:192.168.1.6 N:71 - Trying 5 as a factor.
-71797 [RMI TCP Connection(4)-192.168.1.6] DEBUG C:192.168.1.6 N:129 - Trying 10 as a factor.
-71859 [RMI TCP Connection(5)-192.168.1.6] DEBUG C:192.168.1.6 N:71 - Trying 6 as a factor.
-71890 [RMI TCP Connection(4)-192.168.1.6] DEBUG C:192.168.1.6 N:129 - Trying 11 as a factor.
-71953 [RMI TCP Connection(5)-192.168.1.6] DEBUG C:192.168.1.6 N:71 - Trying 7 as a factor.
-72000 [RMI TCP Connection(4)-192.168.1.6] INFO  C:192.168.1.6 N:129 - Found factor 43
-72062 [RMI TCP Connection(5)-192.168.1.6] DEBUG C:192.168.1.6 N:71 - Trying 8 as a factor.
-72156 [RMI TCP Connection(5)-192.168.1.6] INFO  C:192.168.1.6 N:71 - Found factor 71</pre></div>
-		
-		
+<b>70984 [RMI TCP Connection(4)-192.168.1.6] INFO  C:orion N:129 - Beginning to factor.</b>
+70984 [RMI TCP Connection(4)-192.168.1.6] DEBUG C:orion N:129 - Trying 2 as a factor.
+71093 [RMI TCP Connection(4)-192.168.1.6] DEBUG C:orion N:129 - Trying 3 as a factor.
+71093 [RMI TCP Connection(4)-192.168.1.6] INFO  C:orion N:129 - Found factor 3
+71187 [RMI TCP Connection(4)-192.168.1.6] DEBUG C:orion N:129 - Trying 4 as a factor.
+71297 [RMI TCP Connection(4)-192.168.1.6] DEBUG C:orion N:129 - Trying 5 as a factor.
+71390 [RMI TCP Connection(4)-192.168.1.6] DEBUG C:orion N:129 - Trying 6 as a factor.
+<b>71453 [RMI TCP Connection(5)-192.168.1.6] INFO  C:orion N:71 - Beginning to factor.</b>
+71453 [RMI TCP Connection(5)-192.168.1.6] DEBUG C:orion N:71 - Trying 2 as a factor.
+71484 [RMI TCP Connection(4)-192.168.1.6] DEBUG C:orion N:129 - Trying 7 as a factor.
+71547 [RMI TCP Connection(5)-192.168.1.6] DEBUG C:orion N:71 - Trying 3 as a factor.
+71593 [RMI TCP Connection(4)-192.168.1.6] DEBUG C:orion N:129 - Trying 8 as a factor.
+71656 [RMI TCP Connection(5)-192.168.1.6] DEBUG C:orion N:71 - Trying 4 as a factor.
+71687 [RMI TCP Connection(4)-192.168.1.6] DEBUG C:orion N:129 - Trying 9 as a factor.
+71750 [RMI TCP Connection(5)-192.168.1.6] DEBUG C:orion N:71 - Trying 5 as a factor.
+71797 [RMI TCP Connection(4)-192.168.1.6] DEBUG C:orion N:129 - Trying 10 as a factor.
+71859 [RMI TCP Connection(5)-192.168.1.6] DEBUG C:orion N:71 - Trying 6 as a factor.
+71890 [RMI TCP Connection(4)-192.168.1.6] DEBUG C:orion N:129 - Trying 11 as a factor.
+71953 [RMI TCP Connection(5)-192.168.1.6] DEBUG C:orion N:71 - Trying 7 as a factor.
+72000 [RMI TCP Connection(4)-192.168.1.6] INFO  C:orion N:129 - Found factor 43
+72062 [RMI TCP Connection(5)-192.168.1.6] DEBUG C:orion N:71 - Trying 8 as a factor.
+72156 [RMI TCP Connection(5)-192.168.1.6] INFO  C:orion N:71 - Found factor 71</pre></div>
+
+		<p>
+			The clients were run from a machine called <em>orion</em> as can be seen in 
+			the above output. Even if the server processes the requests of clients 
+			near-simultaneously in separate threads, the logging output pertaining 
+			to each client request can be distinguished by studying the output of the 
+			<code>MDC</code>. Note for example the stamp associated with <em>number</em>, 
+			i.e. the number to factor. 
+		</p>
 		
-
-
-
-
-
+		<p>
+			The attentive reader might have observed that the thread name could 
+			also have been used to distinguish each request. The thread name can cause 
+			confusion if the server side technology recycles threads. In that case, 
+			it may be hard to determine the boundaries of each request, that is, 
+			when a given thread finishes servicing a request and when it begins servicing the next.
+			Because the <code>MDC</code> is under the control of the application developer, 
+			<code>MDC</code> stamps do not suffer from this problem. 
+		</p>
   </body>
 </document>
\ No newline at end of file



More information about the logback-dev mailing list