<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>MilamberSpace - JMeter &#187; Apache</title>
	<atom:link href="http://blog.milamberspace.net/index.php/tag/apache/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.milamberspace.net</link>
	<description>Apache JMeter (surtout) mais aussi GNU/Linux, OpenSource, l&#039;Informatique, etc.</description>
	<lastBuildDate>Sat, 04 Feb 2012 20:56:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Avec la nouvelle année, quelques nouvelles</title>
		<link>http://blog.milamberspace.net/index.php/2011/01/03/avec-la-nouvelle-annee-quelques-nouvelles-791.html</link>
		<comments>http://blog.milamberspace.net/index.php/2011/01/03/avec-la-nouvelle-annee-quelques-nouvelles-791.html#comments</comments>
		<pubDate>Mon, 03 Jan 2011 08:09:34 +0000</pubDate>
		<dc:creator>Milamber</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[ASF]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[2011]]></category>
		<category><![CDATA[Nokia]]></category>
		<category><![CDATA[PMC]]></category>
		<category><![CDATA[Squeeze]]></category>

		<guid isPermaLink="false">http://blog.milamberspace.net/?p=791</guid>
		<description><![CDATA[﻿Nous voici donc en 2011, je vous souhaite une bonne et heureuse année 2011. J&#8217;en profite pour donner quelques nouvelles. Tout d&#8217;abord, je suis toujours sur Debian Squeeze (la future Debian 6.0), et j&#8217;en suis vraiment content (car stable et sans problème). J&#8217;ai tout de même pris un risque en installant depuis le dépôt Experimental [...]]]></description>
			<content:encoded><![CDATA[<p>﻿Nous voici donc en 2011, <em>je vous souhaite une bonne et heureuse année 2011</em>. J&#8217;en profite pour donner quelques nouvelles.</p>
<p>Tout d&#8217;abord, je suis toujours sur Debian Squeeze (la future Debian 6.0), et j&#8217;en suis vraiment content (car stable et sans problème). J&#8217;ai tout de même pris un risque en installant depuis le <a href="http://packages.debian.org/search?keywords=libreoffice&amp;searchon=names&amp;suite=experimental&amp;section=all">dépôt Experimental la version 3.3RC1 de LibreOffice</a> en remplacement de OpenOffice.org. J&#8217;avoue que je préfère si possible utiliser un logiciel open source qui ne soit pas adosser à une structure commerciale, histoire d&#8217;éviter les aléas possibles dû à la nécessité de rentabilité.</p>
<p>Je viens d&#8217;accepter l&#8217;invitation du Project Managment Comittee (PMC) d&#8217;Apache Jakarta pour devenir <a href="http://apache.org/foundation/how-it-works.html#pmc-members">membre de ce PMC</a>. Concrètement, cela me permettra de suivre les discussions internes sur les projets Jakarta (en particulier sur JMeter) ainsi que les votes pour par exemple l&#8217;ajout d&#8217;un nouveau committer, d&#8217;avoir la possibilité de gérer / changer des éléments d&#8217;infrastructure comme le site web.</p>
<p>J&#8217;ai fait l&#8217;acquisition d&#8217;un téléphone portable <a href="http://www.nokia.fr/les-produits/tous-les-mobiles/nokia-n8">Nokia N8</a> en remplacement de mon Nokia E72 (une sorte de cadeau de Noël). <span id="more-791"></span>En quelques mots c&#8217;est un téléphone rapide et réactif, ses photos et vidéos sont blufflantes (12 Mpix). En plus de mots : la prise de vue est beaucoup plus rapide que mon E72 (pas de délai d&#8217;attente entre le clic et la prise de photo). L&#8217;écran est grand (comparé au E72), c&#8217;est bien plus pratique pour la visualisation des photos et vidéos ou bien entendu de ses emails et ses autres documents joints. Je pense que la chose qui me plaît le plus c&#8217;est la réactivité, il est vraiment rapide, déjà que le E72 est relativement véloce, ce N8 obéit au doigt et à l&#8217;oeil, il n&#8217;y a pas d&#8217;attente. J&#8217;ai également eu l&#8217;occasion de tester son GPS avec l&#8217;application (gratuite) fournie, à savoir, Ovi Maps (Cartes) en mode offline, c&#8217;est-à-dire que les cartes sont chargées avant le voyage soit via le logiciel Ovi Suite ou plus simplement pour les gens sous Linux comme moi, directement via une nouvelle fonctionnalité ajoutée à Ovi Maps version 3.06 beta qui permet le téléchargement des cartes via (par exemple) Wifi. Le GPS, une fois fixé, fonctionne très bien, les cartes sont à jour (le voyage était en France), les avertisseurs de radars sont bien indiqués, et les itinéraires se sont révélés être les bons (et correctement choisis). Coté autonomie/batterie, pas de problème particulier de mon coté (pour l&#8217;instant et je suis actuellement en vacances dont pas vraiment une utilisation professionnelle). Effectivement, il est de bon ton de désactiver la recherche automatique de réseaux Wifi, mettre un thème à tendance noir (Nokia via un mise à jour logiciel a ajouté des thèmes Midnight dans ce sens), si on a pas besoin de la 3G, désactiver le mode double (3G/GSM) pour ne garder que le GSM (je suis actuellement en France, donc en situation de mobilité internationale, pas besoin de 3G). En gros suivre les conseils d&#8217;économie de batterie se trouvant dans le<a href="http://nds1.nokia.com/phones/files/guides/Nokia_N8-00_UG_fr.pdf"> manuel du téléphone</a> ou sur <a href="http://www.nokia.fr/support/support-produits/n8-00/faq?comp=nokian800%2Cn8&amp;name=Nokia+N8-00&amp;faqId=FA133237_fr_FR">cette page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.milamberspace.net/index.php/2011/01/03/avec-la-nouvelle-annee-quelques-nouvelles-791.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Milamber @ Apache</title>
		<link>http://blog.milamberspace.net/index.php/2010/08/14/milamber-apache-717.html</link>
		<comments>http://blog.milamberspace.net/index.php/2010/08/14/milamber-apache-717.html#comments</comments>
		<pubDate>Sat, 14 Aug 2010 18:26:31 +0000</pubDate>
		<dc:creator>Milamber</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[ASF]]></category>
		<category><![CDATA[JMeter]]></category>
		<category><![CDATA[Committer]]></category>

		<guid isPermaLink="false">http://blog.milamberspace.net/?p=717</guid>
		<description><![CDATA[Un petit billet pour vous annoncer que je viens de devenir &#8216;committer&#8216; sur le projet JMeter à la fondation Apache. En résumé, cela signifie que j&#8217;ai maintenant un accès en écriture sur le SVN d&#8217;Apache JMeter. J&#8217;ai reçu l&#8217;invitation (que j&#8217;ai accepté promptement) il y a quelques semaines et aujourd&#8217;hui j&#8217;ai reçu mon compte SSH [...]]]></description>
			<content:encoded><![CDATA[<p>Un petit billet pour vous annoncer que je viens de devenir &#8216;<a href="http://www.apache.org/foundation/how-it-works.html#roles">committer</a>&#8216; sur le projet JMeter à la <a href="http://www.apache.org/foundation/">fondation Apache</a>. En résumé, cela signifie que j&#8217;ai maintenant un accès en écriture sur le<a href="http://jakarta.apache.org/site/cvsindex.html"> SVN d&#8217;Apache JMeter</a>.</p>
<p>J&#8217;ai reçu l&#8217;invitation (que j&#8217;ai accepté promptement) il y a quelques semaines et aujourd&#8217;hui j&#8217;ai reçu mon compte SSH sur le serveur utilisé par les &#8216;committers&#8217; (people.apache.org) et l&#8217;adresse email qui va avec : milamber (AT) apache.org. J&#8217;ai posé rapidement une page sur le site People : <a href="http://people.apache.org/~milamber/">http://people.apache.org/~milamber/</a></p>
<p>./</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.milamberspace.net/index.php/2010/08/14/milamber-apache-717.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>JMeter : Assertion sur un fichier Word ou Excel ou Powerpoint</title>
		<link>http://blog.milamberspace.net/index.php/2010/03/28/jmeter-assertion-sur-un-fichier-word-ou-excel-ou-powerpoint-634.html</link>
		<comments>http://blog.milamberspace.net/index.php/2010/03/28/jmeter-assertion-sur-un-fichier-word-ou-excel-ou-powerpoint-634.html#comments</comments>
		<pubDate>Sun, 28 Mar 2010 08:44:39 +0000</pubDate>
		<dc:creator>Milamber</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[JMeter]]></category>
		<category><![CDATA[Assertion]]></category>

		<guid isPermaLink="false">http://blog.milamberspace.net/?p=634</guid>
		<description><![CDATA[Dans la continuité du billet précédent, si vous avez besoin de faire une assertion sur un fichier Word, Excel ou Powerpoint, voici la méthode toute simple avec l&#8217;API Apache POI.]]></description>
			<content:encoded><![CDATA[<p>Dans la continuité du billet précédent, si vous avez besoin de faire une assertion sur un fichier Word, Excel ou Powerpoint, voici <a href="http://theworkaholic.blogspot.com/2010/03/asserting-ms-office-formats.html">la méthode toute simple</a> avec l&#8217;API Apache POI.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.milamberspace.net/index.php/2010/03/28/jmeter-assertion-sur-un-fichier-word-ou-excel-ou-powerpoint-634.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nouvelle version d&#8217;Apache JMeter : v2.3.4</title>
		<link>http://blog.milamberspace.net/index.php/2009/06/21/nouvelle-version-dapache-jmeter-v2-3-4-333.html</link>
		<comments>http://blog.milamberspace.net/index.php/2009/06/21/nouvelle-version-dapache-jmeter-v2-3-4-333.html#comments</comments>
		<pubDate>Sun, 21 Jun 2009 18:44:14 +0000</pubDate>
		<dc:creator>Milamber</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[JMeter]]></category>
		<category><![CDATA[2.3.4]]></category>
		<category><![CDATA[Version]]></category>

		<guid isPermaLink="false">http://blog.milamberspace.net/?p=333</guid>
		<description><![CDATA[Aujourd&#8217;hui c&#8217;est l&#8217;été, et cela sera également la sortie de la version 2.3.4 d&#8217;Apache JMeter. Il s&#8217;agit principalement d&#8217;une version venant corriger des anomalies apparues dans la version 2.3.3, sortie depuis à peine un mois. Les nouveautés restent donc les mêmes que la version précédente, vous pouvez en avoir un aperçu via ce billet. Il [...]]]></description>
			<content:encoded><![CDATA[<p>Aujourd&#8217;hui c&#8217;est l&#8217;été, et cela sera également la sortie de la version 2.3.4 d&#8217;<a href="http://jakarta.apache.org/jmeter/">Apache JMeter</a>. Il s&#8217;agit principalement d&#8217;une version venant <a href="http://jakarta.apache.org/jmeter/changes.html">corriger des anomalies</a> apparues dans la version 2.3.3, sortie depuis à peine un mois.</p>
<p>Les nouveautés restent donc les mêmes que la version précédente, vous pouvez en avoir un aperçu via ce <a href="http://blog.milamberspace.net/index.php/2009/05/24/nouvelle-version-dapache-jmeter-233-293.html">billet</a>.</p>
<p>Il est recommandé de basculer en version 2.3.4, spécialement pour ceux qui utilisent la version 2.3.3.</p>
<p>Bonne utilisation de JMeter !</p>
<p>./</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.milamberspace.net/index.php/2009/06/21/nouvelle-version-dapache-jmeter-v2-3-4-333.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Envie d&#8217;écrire : quelques nouvelles</title>
		<link>http://blog.milamberspace.net/index.php/2009/06/13/envie-decrire-quelques-nouvelles-326.html</link>
		<comments>http://blog.milamberspace.net/index.php/2009/06/13/envie-decrire-quelques-nouvelles-326.html#comments</comments>
		<pubDate>Sat, 13 Jun 2009 10:05:22 +0000</pubDate>
		<dc:creator>Milamber</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Tomcat]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[OpenOffice]]></category>
		<category><![CDATA[SSTIC]]></category>

		<guid isPermaLink="false">http://blog.milamberspace.net/?p=326</guid>
		<description><![CDATA[Je me rends compte que j&#8217;écris depuis plusieurs billets quasiment que sur JMeter, principalement car j&#8217;aime bien JMeter (qui ne l&#8217;a pas compris ?) et aussi car je n&#8217;ai pas malheureusement un temps infini pour le blog. Voilà, en ce weekend très chaud ici grâce au chergui, je suis en short et tongue, et il [...]]]></description>
			<content:encoded><![CDATA[<p>Je me rends compte que j&#8217;écris depuis plusieurs billets quasiment que sur JMeter, principalement car j&#8217;aime bien JMeter (qui ne l&#8217;a pas compris ?) et aussi car je n&#8217;ai pas malheureusement un temps infini pour le blog.</p>
<p>Voilà, en ce weekend très chaud ici grâce au <a href="http://fr.wikipedia.org/wiki/Chergui_%28vent%29">chergui</a>, je suis en short et tongue, et il se trouve j&#8217;ai envie d&#8217;écrire (bizarre ?) plusieurs petites choses, histoire de vous montrer qu&#8217;il n&#8217;y a pas que JMeter dans la vie <img src='http://blog.milamberspace.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> <span id="more-326"></span></p>
<p><a href="http://www.sstic.org/SSTIC09/info.do">SSTIC</a> : c&#8217;est LE symposium de la sécurité informatique en France, il a eu lieu au début de ce mois à Rennes. Non je n&#8217;y suis pas allé <img src='http://blog.milamberspace.net/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  mais grâce Internet et les blogs en particulier, on peut le suivre (vivre) à distance et en différé. <a href="http://bruno.kerouanton.net/blog/2009/06/08/sstic-2009-compte-rendu-des-rumps/">Sur ce lien</a>, vous trouverez des références vers d&#8217;autres blogs qui le raconte. Toujours dans ce blog, l&#8217;auteur (Bruno Kerouanton) nous détaille <a href="http://bruno.kerouanton.net/blog/2009/06/09/la-psychologie-cognitive-et-sociale-appliquee/">la ramp-up qu&#8217;il a animé</a> durant quelques minutes au SSTIC. Je partage son point de vue et la méthode : 1/ Stratégie, 2/ Tactique, 3/ et 4/ Choisir et Etudier/connaître sa cible)</p>
<p><a href="http://www.eu.apachecon.com/c/aceu2009/">ApacheCon Europe 2009</a>, c&#8217;est un peu ancien (25-27 mars 2009), mais là aussi c&#8217;est une conférence intéressante, notamment sur les aspects Performances Tomcat et Apache. Et non, je n&#8217;y suis toujours pas allé, j&#8217;ai suivi à distance les conférences, mais de manière &#8216;réelle&#8217; grâce à la possibilité de voir en ligne une très grosse partie des <a href="http://streaming.linux-magazin.de/en/archive_apachecon09.htm">présentations en live streaming</a> (et aussi ensuite en tant qu&#8217;archives), le tout moyennant finances tout de même.</p>
<p>Clairement, Tomcat n&#8217;a pas à rougir devant les mastodontes des serveurs d&#8217;applications Java/J2EE. Oui c&#8217;est juste un conteneur Web (mais vous en connaissez beaucoup des projets avec des EJB ?). Oui, il n&#8217;y a pas une superbe interface d&#8217;administration, mais bon, normalement les environnements d&#8217;exécution une fois installés ne doivent plus être administrés chaque jour ? Enfin, avec des applications correctement conçues et développées&#8230;</p>
<p><a href="http://www.openoffice.org/">OpenOffice 3</a> : Mon passage à <a href="http://www.ubuntu.com/products/whatisubuntu/904features/">Ubuntu 9.04</a> a vu l&#8217;arrivée de OpenOffice 3 en remplaçant de la version 2.4. Malheureusement, il semblerait que l&#8217;enregistrement au format DOC (Word) ne se passe pas toujours bien au niveau des pieds-de-pages. C&#8217;est frustrant, car avec la 2.4 je n&#8217;avais pas de problèmes&#8230; Du coup, je suis passé à la 3.1 <a href="http://news.softpedia.com/news/How-to-Install-OpenOffice-org-3-1-on-Ubuntu-9-04-111105.shtml">(en manuel)</a>, mais le problème semble toujours là&#8230; Va falloir que je parcours la liste des bugs pour voir si je ne suis pas le seul <img src='http://blog.milamberspace.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  Sinon, un retour en Ubuntu 8.10 ?</p>
<p>Informaticiens au Parlement Européen : <a href="http://blog.mondediplo.net/2009-06-12-Emergence-du-pouvoir-pirate">Billet intéressant</a> qui nous indique que le parti politique Parti Pirate de Suède a gagné deux places de députés au parlement européen. Je ne vous raconte pas cela pour des questions de politiques, etc. mais plutôt comme un exemple de la &#8216;révolution Internet&#8217;, qui est toujours en cours. Sans être sociologue ou carrément anthropologue, c&#8217;est tout de même intéressant de voir les changements apportés par Internet (au sens large) tant passés, que présents et futurs.</p>
<p>Voili Voilà.</p>
<p>./</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.milamberspace.net/index.php/2009/06/13/envie-decrire-quelques-nouvelles-326.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Présentation de JMeter</title>
		<link>http://blog.milamberspace.net/index.php/2008/07/20/presentation-de-jmeter-82.html</link>
		<comments>http://blog.milamberspace.net/index.php/2008/07/20/presentation-de-jmeter-82.html#comments</comments>
		<pubDate>Sun, 20 Jul 2008 16:35:38 +0000</pubDate>
		<dc:creator>Milamber</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[JMeter]]></category>
		<category><![CDATA[Présentation]]></category>

		<guid isPermaLink="false">http://blog.milamberspace.net/?p=82</guid>
		<description><![CDATA[Sur ce blog, j&#8217;ai fait de nombreuses pages sur JMeter, mais je n&#8217;avais pas pris le temps de vous présenter cet outil en lui-même. C&#8217;est chose fait avec cette page de présentation, qui j&#8217;espère vous permettra de mieux comprendre le comment du pourquoi de JMeter. ./]]></description>
			<content:encoded><![CDATA[<p>Sur ce blog, j&#8217;ai fait de nombreuses pages sur JMeter, mais je n&#8217;avais pas pris le temps de vous présenter cet outil en lui-même.</p>
<p>C&#8217;est chose fait avec <a title="Présentation de JMeter" href="http://blog.milamberspace.net/index.php/presentation-de-apache-jmeter" target="_self">cette page de présentation</a>, qui j&#8217;espère vous permettra de mieux comprendre le comment du pourquoi de JMeter.</p>
<p>./</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.milamberspace.net/index.php/2008/07/20/presentation-de-jmeter-82.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Utilisation de NDC de Apache Log4J pour tracer et suivre l&#8217;exécution d&#8217;une application Java</title>
		<link>http://blog.milamberspace.net/index.php/2008/01/15/utilisation-de-ndc-de-apache-log4j-pour-tracer-et-suivre-lexecution-dune-application-java-58.html</link>
		<comments>http://blog.milamberspace.net/index.php/2008/01/15/utilisation-de-ndc-de-apache-log4j-pour-tracer-et-suivre-lexecution-dune-application-java-58.html#comments</comments>
		<pubDate>Tue, 15 Jan 2008 20:46:38 +0000</pubDate>
		<dc:creator>Milamber</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[J2EE]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JEE]]></category>
		<category><![CDATA[Log4J]]></category>
		<category><![CDATA[Supervision]]></category>
		<category><![CDATA[NDC]]></category>

		<guid isPermaLink="false">http://blog.milamberspace.net/index.php/2008/01/15/utilisation-de-ndc-de-apache-log4j-pour-tracer-et-suivre-lexecution-dune-application-java-58.html</guid>
		<description><![CDATA[Un fonctionnalité pratique du framework de logging Apache Log4J est le NDC (pour Nested Diagnostic Contexts). Ce dernier permet de tracer et suivre plusieurs instances d&#8217;un même traitement dans un seul fichier de log. Une utilisation typique est le fichier de log d&#8217;une application web s&#8217;exécutant sur un serveur d&#8217;applications, car plusieurs instances d&#8217;une même [...]]]></description>
			<content:encoded><![CDATA[<p>Un fonctionnalité pratique du framework de logging Apache Log4J est le NDC (<em>pour  Nested Diagnostic Contexts</em>). Ce dernier permet de tracer et suivre plusieurs instances d&#8217;un même traitement dans un seul fichier de log. Une utilisation typique est le fichier de log d&#8217;une application web s&#8217;exécutant sur un serveur d&#8217;applications, car plusieurs instances d&#8217;une même servlet (et de plusieurs servlets) s&#8217;exécutent en même temps pour servir les utilisateurs.</p>
<p>La fonctionnalité permet donc de mieux comprendre le déroulement d&#8217;un traitement, en particulier lors qu&#8217;un problème survient lors d&#8217;un tir de charges ou sur un environnement en production. Et imaginons que ce problème &#8216;ne se reproduit pas&#8217; en environnement de recette / développement, et donc l&#8217;origine pourrait être ces accès multiples en même temps&#8230;<span id="more-58"></span></p>
<p>Un développeur seul sur sa machine génère que un seul log séquentiel, mais avec de multiples utilisateurs, le log devient un enchevêtrement de plusieurs traitements séquentiels.</p>
<p><u>Voici un exemple de log applicatif pendant un tir de charges :</u></p>
<pre>[2008-01-15 20:31:50,750][DEBUG] (DaoBoxers.java:24) - bdSelectAll() - SQL =&gt; SELECT ID, PRENOM, NOM FROM BOXERS
[2008-01-15 20:31:50,755][DEBUG] (DaoBoxers.java:27) - bdSelectAll() - ResultSet ok =&gt; org.apache.tomcat.dbcp.dbcp.DelegatingResultSet@1ba287e
[2008-01-15 20:31:50,757][DEBUG] (DaoBoxers.java:36) - bdSelectAll() - Retour list
[2008-01-15 20:31:50,758][DEBUG] (JndiJdbcTableView.java:62) - doGet() - Mise en attribut resultat
[2008-01-15 20:31:50,758][DEBUG] (JndiJdbcTableView.java:64) - doGet() - Renvoi vers JSP
[2008-01-15 20:31:50,759][DEBUG] (JndiJdbcTableView.java:78) - doGet() - end
[2008-01-15 20:31:50,768][DEBUG] (JndiJdbcWithValidationTableView.java:48) - doGet() - start
[2008-01-15 20:31:50,769][INFO ] (JndiJdbcWithValidationTableView.java:56) - doGet() - Ok connexion
[2008-01-15 20:31:50,769][DEBUG] (JndiJdbcWithValidationTableView.java:60) - doGet() - Appel Boxers =&gt; bdSelectAll
[2008-01-15 20:31:50,770][DEBUG] (DaoBoxers.java:24) - bdSelectAll() - SQL =&gt; SELECT ID, PRENOM, NOM FROM BOXERS
[2008-01-15 20:31:50,775][DEBUG] (DaoBoxers.java:27) - bdSelectAll() - ResultSet ok =&gt; org.apache.tomcat.dbcp.dbcp.DelegatingResultSet@1d2f8be
[2008-01-15 20:31:50,776][INFO ] (DirectJdbcTableView.java:60) - doGet() - Ok connexion
[2008-01-15 20:31:50,777][DEBUG] (DirectJdbcTableView.java:64) - doGet() - Appel Boxers =&gt; bdSelectAll
[2008-01-15 20:31:50,777][DEBUG] (DaoBoxers.java:24) - bdSelectAll() - SQL =&gt; SELECT ID, PRENOM, NOM FROM BOXERS
[2008-01-15 20:31:50,775][INFO ] (DirectJdbcTableView.java:60) - doGet() - Ok connexion
[2008-01-15 20:31:50,778][DEBUG] (DirectJdbcTableView.java:64) - doGet() - Appel Boxers =&gt; bdSelectAll
[2008-01-15 20:31:50,778][DEBUG] (DaoBoxers.java:24) - bdSelectAll() - SQL =&gt; SELECT ID, PRENOM, NOM FROM BOXERS
[2008-01-15 20:31:50,780][DEBUG] (DaoBoxers.java:36) - bdSelectAll() - Retour list
[2008-01-15 20:31:50,780][DEBUG] (JndiJdbcWithValidationTableView.java:62) - doGet() - Mise en attribut resultat
[2008-01-15 20:31:50,780][DEBUG] (JndiJdbcWithValidationTableView.java:64) - doGet() - Renvoi vers JSP
[2008-01-15 20:31:50,783][DEBUG] (JndiJdbcWithValidationTableView.java:78) - doGet() - end
[2008-01-15 20:31:50,784][DEBUG] (DaoBoxers.java:27) - bdSelectAll() - ResultSet ok =&gt; com.mysql.jdbc.ResultSet@10de02d
[2008-01-15 20:31:50,786][DEBUG] (DaoBoxers.java:36) - bdSelectAll() - Retour list
[2008-01-15 20:31:50,786][DEBUG] (DirectJdbcTableView.java:66) - doGet() - Mise en attribut resultat
[2008-01-15 20:31:50,787][DEBUG] (DirectJdbcTableView.java:68) - doGet() - Renvoi vers JSP
[2008-01-15 20:31:50,788][DEBUG] (DirectJdbcTableView.java:85) - doGet() - end
[2008-01-15 20:31:50,789][DEBUG] (DaoBoxers.java:27) - bdSelectAll() - ResultSet ok =&gt; com.mysql.jdbc.ResultSet@172c403
[2008-01-15 20:31:50,786][INFO ] (DirectJdbcTableView.java:60) - doGet() - Ok connexion
[2008-01-15 20:31:50,791][DEBUG] (DirectJdbcTableView.java:64) - doGet() - Appel Boxers =&gt; bdSelectAll
[2008-01-15 20:31:50,791][DEBUG] (DaoBoxers.java:24) - bdSelectAll() - SQL =&gt; SELECT ID, PRENOM, NOM FROM BOXERS
[2008-01-15 20:31:50,792][DEBUG] (JndiJdbcWithValidationTableView.java:48) - doGet() - start
[2008-01-15 20:31:50,792][INFO ] (JndiJdbcWithValidationTableView.java:56) - doGet() - Ok connexion
[2008-01-15 20:31:50,793][DEBUG] (JndiJdbcWithValidationTableView.java:60) - doGet() - Appel Boxers =&gt; bdSelectAll
[2008-01-15 20:31:50,793][DEBUG] (DaoBoxers.java:24) - bdSelectAll() - SQL =&gt; SELECT ID, PRENOM, NOM FROM BOXERS
[2008-01-15 20:31:50,794][DEBUG] (DaoBoxers.java:36) - bdSelectAll() - Retour list
[2008-01-15 20:31:50,794][DEBUG] (DirectJdbcTableView.java:66) - doGet() - Mise en attribut resultat
[2008-01-15 20:31:50,795][DEBUG] (DirectJdbcTableView.java:68) - doGet() - Renvoi vers JSP
[2008-01-15 20:31:50,796][DEBUG] (DirectJdbcTableView.java:85) - doGet() - end
[2008-01-15 20:31:50,798][DEBUG] (DaoBoxers.java:27) - bdSelectAll() - ResultSet ok =&gt; org.apache.tomcat.dbcp.dbcp.DelegatingResultSet@695586
[2008-01-15 20:31:50,799][DEBUG] (DaoBoxers.java:36) - bdSelectAll() - Retour list</pre>
<p>La fonctionnalité NDC ajoute la possibilité d&#8217;avoir un « identifiant » de traitement, par exemple le nombre de secondes depuis le 1er janvier 1970. Ainsi le log devient un enchevêtrement de traitements séquentiels identifiés.<br />
<u> Et voici un exemple de log applicatif avec NDC :</u></p>
<pre>[2008-01-15 20:07:55,920][DEBUG] (DaoBoxers.java:27) - bdSelectAll(<font color="#339966">1200427675911</font>) - ResultSet ok =&gt; org.apache.tomcat.dbcp.dbcp.DelegatingResultSet@19e907
[2008-01-15 20:07:55,921][DEBUG] (DaoBoxers.java:36) - bdSelectAll(<font color="#339966">1200427675911</font>) - Retour list
[2008-01-15 20:07:55,922][DEBUG] (JndiJdbcWithValidationTableView.java:62) - doGet(<font color="#339966">1200427675911</font>) - Mise en attribut resultat
[2008-01-15 20:07:55,922][DEBUG] (JndiJdbcWithValidationTableView.java:64) - doGet(<font color="#339966">1200427675911</font>) - Renvoi vers JSP
[2008-01-15 20:07:55,924][DEBUG] (DaoBoxers.java:27) - bdSelectAll(<font color="#ff6600">1200427675917</font>) - ResultSet ok =&gt; org.apache.tomcat.dbcp.dbcp.DelegatingResultSet@93a96c
[2008-01-15 20:07:55,925][DEBUG] (DaoBoxers.java:36) - bdSelectAll(<font color="#ff6600">1200427675917</font>) - Retour list
[2008-01-15 20:07:55,926][DEBUG] (JndiJdbcWithValidationTableView.java:62) - doGet(<font color="#ff6600">1200427675917</font>) - Mise en attribut resultat
[2008-01-15 20:07:55,926][DEBUG] (JndiJdbcWithValidationTableView.java:64) - doGet(<font color="#ff6600">1200427675917</font>) - Renvoi vers JSP
[2008-01-15 20:07:55,927][DEBUG] (JndiJdbcWithValidationTableView.java:78) - doGet(<font color="#339966">1200427675911</font>) - end
[2008-01-15 20:07:55,929][DEBUG] (DirectJdbcTableView.java:49) - doGet(<font color="#0000ff">1200427675929</font>) - start
[2008-01-15 20:07:55,931][DEBUG] (JndiJdbcWithValidationTableView.java:78) - doGet(<font color="#ff6600">1200427675917</font>) - end
[2008-01-15 20:07:55,934][DEBUG] (DirectJdbcInInitTableView.java:49) - doGet(<font color="#ff00ff">1200427675934</font>) - start
[2008-01-15 20:07:55,938][DEBUG] (JndiJdbcWithValidationTableView.java:48) - doGet(<font color="#ff0000">1200427675938</font>) - start
[2008-01-15 20:07:55,938][INFO ] (JndiJdbcWithValidationTableView.java:56) - doGet(<font color="#ff0000">1200427675938</font>) - Ok connexion
[2008-01-15 20:07:55,939][DEBUG] (JndiJdbcWithValidationTableView.java:60) - doGet(<font color="#ff0000">1200427675938</font>) - Appel Boxers =&gt; bdSelectAll
[2008-01-15 20:07:55,941][DEBUG] (net.milamberspace.dao.DaoBoxers.java:24) - bdSelectAll(<font color="#ff0000">1200427675938</font>) - SQL =&gt; SELECT ID, PRENOM, NOM FROM BOXERS
[2008-01-15 20:07:55,941][INFO ] (DirectJdbcTableView.java:60) - doGet(<font color="#0000ff">1200427675929</font>) - Ok connexion
[2008-01-15 20:07:55,942][DEBUG] (DirectJdbcTableView.java:64) - doGet(<font color="#0000ff">1200427675929</font>) - Appel Boxers =&gt; bdSelectAll
[2008-01-15 20:07:55,942][DEBUG] (DaoBoxers.java:24) - bdSelectAll(<font color="#0000ff">1200427675929</font>) - SQL =&gt; SELECT ID, PRENOM, NOM FROM BOXERS
[2008-01-15 20:07:55,947][DEBUG] (DaoBoxers.java:27) - bdSelectAll(<font color="#ff0000">1200427675938</font>) - ResultSet ok =&gt; org.apache.tomcat.dbcp.dbcp.DelegatingResultSet@17dde01
[2008-01-15 20:07:55,948][DEBUG] (DaoBoxers.java:36) - bdSelectAll(<font color="#ff0000">1200427675938</font>) - Retour list
[2008-01-15 20:07:55,949][DEBUG] (JndiJdbcWithValidationTableView.java:62) - doGet(<font color="#ff0000">1200427675938</font>) - Mise en attribut resultat
[2008-01-15 20:07:55,949][DEBUG] (JndiJdbcWithValidationTableView.java:64) - doGet(<font color="#ff0000">1200427675938</font>) - Renvoi vers JSP
[2008-01-15 20:07:55,950][DEBUG] (DaoBoxers.java:27) - bdSelectAll(<font color="#0000ff">1200427675929</font>) - ResultSet ok =&gt; com.mysql.jdbc.ResultSet@7a3c6c
[2008-01-15 20:07:55,952][DEBUG] (DaoBoxers.java:36) - bdSelectAll(<font color="#0000ff">1200427675929</font>) - Retour list
[2008-01-15 20:07:55,952][DEBUG] (DirectJdbcTableView.java:66) - doGet(<font color="#0000ff">1200427675929</font>) - Mise en attribut resultat
[2008-01-15 20:07:55,952][DEBUG] (DirectJdbcTableView.java:68) - doGet(<font color="#0000ff">1200427675929</font>) - Renvoi vers JSP
[2008-01-15 20:07:55,954][DEBUG] (DirectJdbcTableView.java:85) - doGet(<font color="#0000ff">1200427675929</font>) - end
[2008-01-15 20:07:55,956][INFO ] (DirectJdbcInInitTableView.java:57) - doGet(<font color="#ff00ff">1200427675934</font>) - Ok connexion
[2008-01-15 20:07:55,956][DEBUG] (DirectJdbcInInitTableView.java:61) - doGet(<font color="#ff00ff">1200427675934</font>) - Appel Boxers =&gt; bdSelectAll
[2008-01-15 20:07:55,957][DEBUG] (DaoBoxers.java:24) - bdSelectAll(<font color="#ff00ff">1200427675934</font>) - SQL =&gt; SELECT ID, PRENOM, NOM FROM BOXERS
[2008-01-15 20:07:55,958][DEBUG] (JndiJdbcWithValidationTableView.java:78) - doGet(<font color="#ff0000">1200427675938</font>) - end
[2008-01-15 20:07:55,961][DEBUG] (DaoBoxers.java:27) - bdSelectAll(<font color="#ff00ff">1200427675934</font>) - ResultSet ok =&gt; com.mysql.jdbc.ResultSet@283198
[2008-01-15 20:07:55,963][DEBUG] (DaoBoxers.java:36) - bdSelectAll(<font color="#ff00ff">1200427675934</font>) - Retour list</pre>
<p>Cela permet une lecture plus facile des logs (la couleur n&#8217;est pas incluse <img src='http://blog.milamberspace.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> ), dès lors que l&#8217;on sait utiliser la commande grep sous Unix en faisant quelques petits grep sur l&#8217;identifiant. (par exemple : grep 1200426850018 mon_log.txt)</p>
<p>Comme faire pour utiliser NDC ? Et bien tout d&#8217;abord dans le fichier de configuration de Log4J, le fameux log4j.properties. Il faut ajouter la balise « %x » dans le ConversionPattern, celle-ci sera remplacée par l&#8217;identifiant unique défini lors de l&#8217;utilisation de NDC.</p>
<p><u>Exemple de fichier log4j.properties</u></p>
<pre><font color="#800000">log4j.rootLogger=DEBUG, LOG1
log4j.appender.LOG1=org.apache.log4j.ConsoleAppender
log4j.appender.LOG1.layout=org.apache.log4j.PatternLayout
log4j.appender.LOG1.layout.ConversionPattern=[%d][%-5p] (%C.java:%L) - %M(<strong>%x</strong>) - %m%n</font></pre>
<p>Au niveau du code source Java, on utilisera deux méthodes de la classe statique NDC.</p>
<ul>
<li><em>NDC.push(String ID)</em> qui permet de poser un identifiant</li>
<li><em>NDC.pop()</em> qui permet de dépiler le dernier identifiant posé</li>
</ul>
<p>Voici un exemple simple d&#8217;utilisation pour une servlet, avec ici, l&#8217;utilisation de « new Date().getTime() » comme identifiant :</p>
<pre>protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 NDC.push(String.valueOf(new Date().getTime()));
 logger.debug("start");
 Connection connection = null;
 try {
 	connection = getDataSource().getConnection();
 	logger.info("Ok connexion");
	DaoBoxers dao = new DaoBoxers();
 	dao.setConnection(connection);
 	ArrayList<boxer> list = dao.bdSelectAll();
 	request.setAttribute("beanListeBoxer", list);
 	this.getServletContext().getRequestDispatcher("/tableview.jsp").forward(request, response);
</boxer> } catch (Exception e) {
 	logger.error(e);
 	throw new ServletException(e.getMessage());
 } finally {
 	try {
 		connection.close();
 	} catch (SQLException sqle) {
 		logger.error(sqle);
 	}
 	logger.debug("end");
 	NDC.pop();
 }
}</pre>
<p>Bien entendu, les appels à logger.xxxx() dans les méthodes du DAO vont également bénéficier de l&#8217;identifiant NDC.</p>
<p>Espérons que ce billet vous sera utile.</p>
<p><em>La page de<a href="http://logging.apache.org/log4j/1.2/manual.html" target="_blank"> manuel de Log4J</a>.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.milamberspace.net/index.php/2008/01/15/utilisation-de-ndc-de-apache-log4j-pour-tracer-et-suivre-lexecution-dune-application-java-58.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

