<?xml version="1.0" encoding="UTF-8"?><rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
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:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
xmlns:media="http://search.yahoo.com/mrss/"
> <channel><title>Commentaires sur : Java en Production &#8211; Les fichiers de logs</title> <atom:link href="http://blog.xebia.fr/2010/07/07/java-en-production-les-fichiers-de-logs/feed/" rel="self" type="application/rss+xml" /><link>http://blog.xebia.fr/2010/07/07/java-en-production-les-fichiers-de-logs/</link> <description>J2EE, Agilité et SOA</description> <lastBuildDate>Fri, 10 Feb 2012 09:50:25 +0000</lastBuildDate> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=</generator> <item><title>Par : Laurent Ducarroz</title><link>http://blog.xebia.fr/2010/07/07/java-en-production-les-fichiers-de-logs/#comment-63170</link> <dc:creator>Laurent Ducarroz</dc:creator> <pubDate>Thu, 07 Jul 2011 06:00:20 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=5013#comment-63170</guid> <description>À propos de l&#039;utilisation de la virgule, dans le chapitre 6 de la documentation, http://logback.qos.ch/manual/layouts.html :
Given that the comma &#039;,&#039; character is the option separator, the pattern string [HH:mm:ss,SSS] will print the time in the [SSS] time zone which does not exist. Thus, the time will be printed in the default GMT timezone. If you wish to include a comma in your date pattern, then simply enclose the pattern between quotes. For example, %date{&quot;HH:mm:ss,SSS&quot;}.</description> <content:encoded><![CDATA[<p>À propos de l&#8217;utilisation de la virgule, dans le chapitre 6 de la documentation, <a
href="http://logback.qos.ch/manual/layouts.html" rel="nofollow">http://logback.qos.ch/manual/layouts.html</a> :</p><p>Given that the comma &#8216;,&#8217; character is the option separator, the pattern string [HH:mm:ss,SSS] will print the time in the [SSS] time zone which does not exist. Thus, the time will be printed in the default GMT timezone. If you wish to include a comma in your date pattern, then simply enclose the pattern between quotes. For example, %date{&laquo;&nbsp;HH:mm:ss,SSS&nbsp;&raquo;}.</p> ]]></content:encoded> </item> <item><title>Par : Cyrille Le Clerc</title><link>http://blog.xebia.fr/2010/07/07/java-en-production-les-fichiers-de-logs/#comment-63021</link> <dc:creator>Cyrille Le Clerc</dc:creator> <pubDate>Wed, 06 Jul 2011 16:07:48 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=5013#comment-63021</guid> <description>@Laurent,
Merci pour la remarque. La coquille est corrigée. J&#039;avais activé une rotation à la minute pour vérifier le comportement de logback. C&#039;est corrigé.
Cyrille</description> <content:encoded><![CDATA[<p>@Laurent,</p><p>Merci pour la remarque. La coquille est corrigée. J&#8217;avais activé une rotation à la minute pour vérifier le comportement de logback. C&#8217;est corrigé.</p><p>Cyrille</p> ]]></content:encoded> </item> <item><title>Par : Laurent Ducarroz</title><link>http://blog.xebia.fr/2010/07/07/java-en-production-les-fichiers-de-logs/#comment-62999</link> <dc:creator>Laurent Ducarroz</dc:creator> <pubDate>Wed, 06 Jul 2011 14:44:18 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=5013#comment-62999</guid> <description>Bonjour,
L&#039;article est intéressant, et les commentaires aussi.
J&#039;ai repéré une erreur récurrente dans les exemples : la rotation n&#039;est pas quotidienne, mais se fait à chaque minute. Il faudrait remplacer %d{yyyyMMdd-HHmm} par %d{yyyyMMdd}, ou par le minimaliste %d.
D&#039;autre part, en testant, j&#039;ai constaté que, si on met une virgule, ce qui se trouve après n&#039;est pas pris en compte : %d{HH:mm:ss,SSS} donne le même affichage que %d{HH:mm:ss}.
Je suis curieux, j&#039;ai testé d&#039;autres signe. L&#039;apostrophe : %d{HH:mm:ss&#039;SSS} affiche : 2011-07-06 16:40:08,855
Pourtant, les autres signes que j&#039;ai testé passent : %d{HH:mm:ss\?{[&gt;&quot;;:/!ç(%$*€£`+=@#SSS} donne à l&#039;affichage : 16:40:25\?{[&gt;&quot;;:/!ç(%$*€£`+=@#032
Je code sur Eclipse sur MacosX.
Laurent</description> <content:encoded><![CDATA[<p>Bonjour,<br
/> L&#8217;article est intéressant, et les commentaires aussi.<br
/> J&#8217;ai repéré une erreur récurrente dans les exemples : la rotation n&#8217;est pas quotidienne, mais se fait à chaque minute. Il faudrait remplacer %d{yyyyMMdd-HHmm} par %d{yyyyMMdd}, ou par le minimaliste %d.<br
/> D&#8217;autre part, en testant, j&#8217;ai constaté que, si on met une virgule, ce qui se trouve après n&#8217;est pas pris en compte : %d{HH:mm:ss,SSS} donne le même affichage que %d{HH:mm:ss}.<br
/> Je suis curieux, j&#8217;ai testé d&#8217;autres signe. L&#8217;apostrophe : %d{HH:mm:ss&#8217;SSS} affiche : 2011-07-06 16:40:08,855<br
/> Pourtant, les autres signes que j&#8217;ai testé passent : %d{HH:mm:ss\?{[&gt;&nbsp;&raquo;;:/!ç(%$*€£`+=@#SSS} donne à l&#8217;affichage : 16:40:25\?{[&gt;&nbsp;&raquo;;:/!ç(%$*€£`+=@#032<br
/> Je code sur Eclipse sur MacosX.<br
/> Laurent</p> ]]></content:encoded> </item> <item><title>Par : Thomas Queste</title><link>http://blog.xebia.fr/2010/07/07/java-en-production-les-fichiers-de-logs/#comment-49264</link> <dc:creator>Thomas Queste</dc:creator> <pubDate>Thu, 14 Apr 2011 08:55:19 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=5013#comment-49264</guid> <description>Logback propose ce genre de fonctionnalités (include d&#039;un autre fichier, définition de propriétés). Ca reste basique, mais sur le point technique, ça semble réalisable.
Niveau réalisation, JMX me semble  mieux approprié pour modifier les logs à chaud.</description> <content:encoded><![CDATA[<p>Logback propose ce genre de fonctionnalités (include d&#8217;un autre fichier, définition de propriétés). Ca reste basique, mais sur le point technique, ça semble réalisable.</p><p>Niveau réalisation, JMX me semble  mieux approprié pour modifier les logs à chaud.</p> ]]></content:encoded> </item> <item><title>Par : Antoine Meausoone</title><link>http://blog.xebia.fr/2010/07/07/java-en-production-les-fichiers-de-logs/#comment-49254</link> <dc:creator>Antoine Meausoone</dc:creator> <pubDate>Thu, 14 Apr 2011 07:20:22 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=5013#comment-49254</guid> <description>&quot;Juste un bémol. Il me semble que ce n’est pas à l’application de décider de la rotation ou non des logs et quand elle doit se faire. Il s’agit plutôt d’une tâche d’exploitation sur laquelle l’administrateur système doit avoir la main sans avoir à modifier l’application (ou un fichier du classpath ou que celui-ci puisse se trouver).&quot;
Gérant une application déployée sur une 50aine de machine avec différents OS. Le problème est qu&#039;un script de rotation de log est très dépendant de l&#039;OS et de l&#039;installation. Quand l&#039;installation de l&#039;appli est générique, pas de souci, mais si elle ne l&#039;est pas (répertoire différent pour le plus courant, user différent, etc), les problèmes surviennent. Laisser le framework géré cette partie règle complétement le problème, et logback implémente tous ce qui manquait à log4j.
Je me demandais si elle étais possible et pratique, de scinder un fichier de conf logback en 2 parties : une partie intégrée dans le war avec une configuration de log générique + 1 seconde partie en dehors du war, avec rechargement à chaud. L&#039;intérêt étant d&#039;être sûr de ne pas oublier le fichier de conf ni qu&#039;il soit modifié par erreur et en même temps permettre pendant le run de sortir les traces de debug/trace d&#039;une classe précise en cas de problème ?</description> <content:encoded><![CDATA[<p>&laquo;&nbsp;Juste un bémol. Il me semble que ce n’est pas à l’application de décider de la rotation ou non des logs et quand elle doit se faire. Il s’agit plutôt d’une tâche d’exploitation sur laquelle l’administrateur système doit avoir la main sans avoir à modifier l’application (ou un fichier du classpath ou que celui-ci puisse se trouver).&nbsp;&raquo;<br
/> Gérant une application déployée sur une 50aine de machine avec différents OS. Le problème est qu&#8217;un script de rotation de log est très dépendant de l&#8217;OS et de l&#8217;installation. Quand l&#8217;installation de l&#8217;appli est générique, pas de souci, mais si elle ne l&#8217;est pas (répertoire différent pour le plus courant, user différent, etc), les problèmes surviennent. Laisser le framework géré cette partie règle complétement le problème, et logback implémente tous ce qui manquait à log4j.</p><p>Je me demandais si elle étais possible et pratique, de scinder un fichier de conf logback en 2 parties : une partie intégrée dans le war avec une configuration de log générique + 1 seconde partie en dehors du war, avec rechargement à chaud. L&#8217;intérêt étant d&#8217;être sûr de ne pas oublier le fichier de conf ni qu&#8217;il soit modifié par erreur et en même temps permettre pendant le run de sortir les traces de debug/trace d&#8217;une classe précise en cas de problème ?</p> ]]></content:encoded> </item> <item><title>Par : Cyrille Le Clerc</title><link>http://blog.xebia.fr/2010/07/07/java-en-production-les-fichiers-de-logs/#comment-43749</link> <dc:creator>Cyrille Le Clerc</dc:creator> <pubDate>Sun, 13 Mar 2011 22:51:35 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=5013#comment-43749</guid> <description>Bonjour Cissine,
&lt;em&gt;&gt; &quot;Est ce qu’il y a un moyen de générer un identifiant pour les différents log qui sont enregistré ( pour le moment j’en génère a l’aide de combinaison (%relative %level).&quot;&lt;/em&gt;
Votre besoin me rappelle les &lt;a href=&quot;http://logback.qos.ch/manual/mdc.html&quot; rel=&quot;nofollow&quot;&gt;Mapped Diagnostic Context&lt;/a&gt; que j&#039;ai déjà utilisé pour tracer un numéro de téléphone client chez un opérateur télécom ou un numéro de compte client dans une banque.
&lt;em&gt;&gt; &quot;... moyen d’encapsuler (LogBack+SLF4J) pour les intégrés à toute sorte d’application sans que d’autres utilisateurs aient le droit de modifié quoi que ce soit que ca soit dans le fichier de configuration ou l’application elle même.&quot;&lt;/em&gt;
Je préfère en général faire confiance aux équipes de développement et d&#039;exploitation plutôt que de les contraindre. S&#039;il y a un problème de confiance avec les uns ou avec les autres, je pense qu&#039;il vaut mieux traiter sur le fond et se séparer des gens ... dans la mesure où il y a réellement un problème :-) .
J&#039;ai travaillé dans des organisations qui ne faisaient pas confiance à telle ou telle équipe, souvent en méprisant leurs compétences et leur travail. C&#039;était aussi désagréable qu&#039;inefficace.
Le fonctionnement le plus efficace que j&#039;ai vu est
1) les équipes de dév ajoutent des log dans leur code en faisant de leur mieux pour différencier trace/debug/info/warn/error . J&#039;utilise souvent :
-  warn : les comportements inattendus souvent des situations qui auraient pu mériter une IllegalStateException
-  info : les messages qui me donnent une idée globale du fonctionnement de la zone
- debug : les informations détaillées dont j&#039;ai besoin quand je troubleshoot précisément cette zone
- trace : les informations ultra détaillées que je ne devrais jamais activer mais que j&#039;utilise quand en dernier recours pour débugger une zone de code quand je suis perdu,
2) les ops disent dans quel répertoire ils veulent ce fichier pour pouvoir le modifier à chaud
- avec Tomcat, il suffit de le placer dans WEB-INF/classes,
- avec les gros serveurs J2EE, il faut souvent sortir ce fichier des ear et war car les serveurs cachent les war &quot;expandés&quot; dans des répertoire que les exploitants ne savent pas trouver facilement,
3) les dév préparent le fichier de configuration des log (logback.xml, log4j.properties)
- le root logger à warn,
- les outputs xx.log/xx-troubleshooting.log/xx-audit.log et aussi souvent xx-perfs.log,
- certains logger à des niveaux inférieurs (info/debug) pour des cas particuliers,
4) les ops valident le fichier et le déploient en parallèle du war/ear s&#039;il doit être situé à l&#039;extérieur de l&#039;artifact,
5) les ops peuvent modifier à chaud le fichier de configuration des logs pour changer les niveaux de logs suivant les besoins.
6) Devs et ops itèrent conjointement pour améliorer les messages
Cyrille (Xebia)</description> <content:encoded><![CDATA[<p>Bonjour Cissine,</p><p><em>> &laquo;&nbsp;Est ce qu’il y a un moyen de générer un identifiant pour les différents log qui sont enregistré ( pour le moment j’en génère a l’aide de combinaison (%relative %level).&nbsp;&raquo;</em></p><p>Votre besoin me rappelle les <a
href="http://logback.qos.ch/manual/mdc.html" rel="nofollow">Mapped Diagnostic Context</a> que j&#8217;ai déjà utilisé pour tracer un numéro de téléphone client chez un opérateur télécom ou un numéro de compte client dans une banque.</p><p><em>> &laquo;&nbsp;&#8230; moyen d’encapsuler (LogBack+SLF4J) pour les intégrés à toute sorte d’application sans que d’autres utilisateurs aient le droit de modifié quoi que ce soit que ca soit dans le fichier de configuration ou l’application elle même.&nbsp;&raquo;</em></p><p>Je préfère en général faire confiance aux équipes de développement et d&#8217;exploitation plutôt que de les contraindre. S&#8217;il y a un problème de confiance avec les uns ou avec les autres, je pense qu&#8217;il vaut mieux traiter sur le fond et se séparer des gens &#8230; dans la mesure où il y a réellement un problème <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .<br
/> J&#8217;ai travaillé dans des organisations qui ne faisaient pas confiance à telle ou telle équipe, souvent en méprisant leurs compétences et leur travail. C&#8217;était aussi désagréable qu&#8217;inefficace.</p><p>Le fonctionnement le plus efficace que j&#8217;ai vu est<br
/> 1) les équipes de dév ajoutent des log dans leur code en faisant de leur mieux pour différencier trace/debug/info/warn/error . J&#8217;utilise souvent :<br
/> &#8211;  warn : les comportements inattendus souvent des situations qui auraient pu mériter une IllegalStateException<br
/> &#8211;  info : les messages qui me donnent une idée globale du fonctionnement de la zone<br
/> &#8211; debug : les informations détaillées dont j&#8217;ai besoin quand je troubleshoot précisément cette zone<br
/> &#8211; trace : les informations ultra détaillées que je ne devrais jamais activer mais que j&#8217;utilise quand en dernier recours pour débugger une zone de code quand je suis perdu,</p><p>2) les ops disent dans quel répertoire ils veulent ce fichier pour pouvoir le modifier à chaud<br
/> &#8211; avec Tomcat, il suffit de le placer dans WEB-INF/classes,<br
/> &#8211; avec les gros serveurs J2EE, il faut souvent sortir ce fichier des ear et war car les serveurs cachent les war &laquo;&nbsp;expandés&nbsp;&raquo; dans des répertoire que les exploitants ne savent pas trouver facilement,</p><p>3) les dév préparent le fichier de configuration des log (logback.xml, log4j.properties)<br
/> &#8211; le root logger à warn,<br
/> &#8211; les outputs xx.log/xx-troubleshooting.log/xx-audit.log et aussi souvent xx-perfs.log,<br
/> &#8211; certains logger à des niveaux inférieurs (info/debug) pour des cas particuliers,</p><p>4) les ops valident le fichier et le déploient en parallèle du war/ear s&#8217;il doit être situé à l&#8217;extérieur de l&#8217;artifact,</p><p>5) les ops peuvent modifier à chaud le fichier de configuration des logs pour changer les niveaux de logs suivant les besoins.</p><p>6) Devs et ops itèrent conjointement pour améliorer les messages</p><p>Cyrille (Xebia)</p> ]]></content:encoded> </item> <item><title>Par : Cissine</title><link>http://blog.xebia.fr/2010/07/07/java-en-production-les-fichiers-de-logs/#comment-42687</link> <dc:creator>Cissine</dc:creator> <pubDate>Tue, 01 Mar 2011 16:34:03 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=5013#comment-42687</guid> <description>Bonjour,
J&#039;ai une question : J&#039;ai intégré à mon application web le composant LogBack + SLF4J comme couche d&#039;abstraction, tout cela en ajoutant simplement deux fichiers jar de logback et un autre de SLF4J, puis mon fichier de configuration logback.xml qui fait un certains nombres de requêtes pour un affichage customisé.
Est ce qu&#039;il y a un moyen de générer un identifiant pour les différents log qui sont enregistré ( pour le moment j&#039;en génère a l&#039;aide de combinaison (%relative %level).
Aussi est ce qu&#039;il y a moyen d&#039;encapsuler (LogBack+SLF4J) pour les intégrés à toute sorte d&#039;application sans que d&#039;autres utilisateurs aient le droit de modifié quoi que ce soit que ca soit dans le fichier de configuration ou l&#039;application elle même.
Merci à vous.</description> <content:encoded><![CDATA[<p>Bonjour,<br
/> J&#8217;ai une question : J&#8217;ai intégré à mon application web le composant LogBack + SLF4J comme couche d&#8217;abstraction, tout cela en ajoutant simplement deux fichiers jar de logback et un autre de SLF4J, puis mon fichier de configuration logback.xml qui fait un certains nombres de requêtes pour un affichage customisé.<br
/> Est ce qu&#8217;il y a un moyen de générer un identifiant pour les différents log qui sont enregistré ( pour le moment j&#8217;en génère a l&#8217;aide de combinaison (%relative %level).<br
/> Aussi est ce qu&#8217;il y a moyen d&#8217;encapsuler (LogBack+SLF4J) pour les intégrés à toute sorte d&#8217;application sans que d&#8217;autres utilisateurs aient le droit de modifié quoi que ce soit que ca soit dans le fichier de configuration ou l&#8217;application elle même.<br
/> Merci à vous.</p> ]]></content:encoded> </item> <item><title>Par : effective web layer practices with spring-mvc 3 + REST + jsp view &#171; Diving deep into JEE</title><link>http://blog.xebia.fr/2010/07/07/java-en-production-les-fichiers-de-logs/#comment-41519</link> <dc:creator>effective web layer practices with spring-mvc 3 + REST + jsp view &#171; Diving deep into JEE</dc:creator> <pubDate>Sun, 13 Feb 2011 21:04:33 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=5013#comment-41519</guid> <description>[...] you add a file named logback-test.xml in src/test/resources logback will use it automatically. This article helped me to gather best practices around [...]</description> <content:encoded><![CDATA[<p>[...] you add a file named logback-test.xml in src/test/resources logback will use it automatically. This article helped me to gather best practices around [...]</p> ]]></content:encoded> </item> <item><title>Par : Cyrille Le Clerc</title><link>http://blog.xebia.fr/2010/07/07/java-en-production-les-fichiers-de-logs/#comment-28214</link> <dc:creator>Cyrille Le Clerc</dc:creator> <pubDate>Fri, 09 Jul 2010 15:46:11 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=5013#comment-28214</guid> <description>@Ceki
&gt; vu la faiblesse syntaxique du format .properties ...
Faiblesse que ne dissuade pas les gens de régulièrement projeter des structures de données arborescentes ou orientées object dans du clef-valeur avec des clefs composées à grand renfort de &#039;_&#039;, de numéros d&#039;index et d&#039;autres délices du genre :-)
Je fais mon &quot;coming out&quot;, je reconnais avoir il y a bien longtemps projeté une configuration arborescente dans un fichier properties avec jakarta commons-configuration. Je confesse aussi avoir propagé entre des pages web un shopping cart complet avec des champs cachés à la&lt;code&gt; &quot;&lt;input type=&#039;hidden&#039; name=&#039;cart_item_3_id&#039; ... /&gt;&quot;&lt;/code&gt;.
Que celui qui n&#039;a jamais fauté me jette la première pierre :-).
Dans le même registre mais avec des technologies à la mode, avez-vous déjà entendu les propositions de no-sqliens casssendristes pour projeter un shopping cart dans du column-oriented ? On retrouve le style &quot;.properties flamboyant&quot; saupoudré d&#039;un zeste d&#039;expressions régulières sur les clefs ; un vrai régal :-) .
Malgré toutes ces hérésies, je suis assez d&#039;accord avec vous sur le fond. Nous avons beaucoup plus riche que le format .properties en 2010.
Cyrille</description> <content:encoded><![CDATA[<p>@Ceki</p><p>> vu la faiblesse syntaxique du format .properties &#8230;</p><p>Faiblesse que ne dissuade pas les gens de régulièrement projeter des structures de données arborescentes ou orientées object dans du clef-valeur avec des clefs composées à grand renfort de &#8216;_&#8217;, de numéros d&#8217;index et d&#8217;autres délices du genre <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p><p>Je fais mon &laquo;&nbsp;coming out&nbsp;&raquo;, je reconnais avoir il y a bien longtemps projeté une configuration arborescente dans un fichier properties avec jakarta commons-configuration. Je confesse aussi avoir propagé entre des pages web un shopping cart complet avec des champs cachés à la<code> "&lt;input type='hidden' name='cart_item_3_id' ... /&gt;"</code>.</p><p>Que celui qui n&#8217;a jamais fauté me jette la première pierre <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p><p>Dans le même registre mais avec des technologies à la mode, avez-vous déjà entendu les propositions de no-sqliens casssendristes pour projeter un shopping cart dans du column-oriented ? On retrouve le style &laquo;&nbsp;.properties flamboyant&nbsp;&raquo; saupoudré d&#8217;un zeste d&#8217;expressions régulières sur les clefs ; un vrai régal <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p><p>Malgré toutes ces hérésies, je suis assez d&#8217;accord avec vous sur le fond. Nous avons beaucoup plus riche que le format .properties en 2010.</p><p>Cyrille</p> ]]></content:encoded> </item> <item><title>Par : Ceki Gülcü</title><link>http://blog.xebia.fr/2010/07/07/java-en-production-les-fichiers-de-logs/#comment-28210</link> <dc:creator>Ceki Gülcü</dc:creator> <pubDate>Fri, 09 Jul 2010 14:38:56 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=5013#comment-28210</guid> <description>Pour faire bref, vu la faiblesse syntaxique du format .properties, je crois qu&#039;il n&#039;y aura pas de support pour logback.properties.
Concernant les informations de packaging dans les stack trace, cette information est activée par défaut car même si le coût d&#039;extraction est élevé. En d’autres termes, le convertisseur %xEx est automatiquement ajouté sauf si l’utilisateur spécifie explicitement le convertisseur %ex ou %nopex. Le surcout de %xEx est payé qu&#039;en cas d&#039;exception, ce qui est par définition exceptionnel et devrait jamais impacter la performance.
A ce stade, je voudrais mentionner le convertisseur %caller qui peut s’avérer très pratique pour debugger certains problèmes survenant en production. (Attention, vu le surcoût, à activer que sélectivement.)</description> <content:encoded><![CDATA[<p>Pour faire bref, vu la faiblesse syntaxique du format .properties, je crois qu&#8217;il n&#8217;y aura pas de support pour logback.properties.</p><p>Concernant les informations de packaging dans les stack trace, cette information est activée par défaut car même si le coût d&#8217;extraction est élevé. En d’autres termes, le convertisseur %xEx est automatiquement ajouté sauf si l’utilisateur spécifie explicitement le convertisseur %ex ou %nopex. Le surcout de %xEx est payé qu&#8217;en cas d&#8217;exception, ce qui est par définition exceptionnel et devrait jamais impacter la performance.</p><p>A ce stade, je voudrais mentionner le convertisseur %caller qui peut s’avérer très pratique pour debugger certains problèmes survenant en production. (Attention, vu le surcoût, à activer que sélectivement.)</p> ]]></content:encoded> </item> <item><title>Par : Cyrille Le Clerc</title><link>http://blog.xebia.fr/2010/07/07/java-en-production-les-fichiers-de-logs/#comment-28209</link> <dc:creator>Cyrille Le Clerc</dc:creator> <pubDate>Fri, 09 Jul 2010 13:59:48 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=5013#comment-28209</guid> <description>@Ceki ,
&lt;strong&gt;groovy vs. xml vs. properties&lt;/strong&gt;
Je crois qu&#039;il est nécessaire que j&#039;ajoute une deuxième partie à ce billet pour essayer la configuration groovy !
Réflexion faite, je vois deux raisons pour lesquelles les exploitants pourraient préférer groovy à XML pour configurer nos logs :
* les configurations sous forme de DSL se banalisent : &lt;a href=&quot;http://varnish-cache.org/wiki/VCL&quot; rel=&quot;nofollow&quot;&gt;Varnish Cache&lt;/a&gt;, &lt;a href=&quot;http://redmine.lighttpd.net/wiki/1/TutorialConfiguration&quot; rel=&quot;nofollow&quot;&gt;lighthttpd&lt;/a&gt;, etc
* ils détestent tellement XML qui est tellement &lt;em&gt;unfriendly&lt;/em&gt; à &lt;code&gt;grep&lt;/code&gt;, &lt;code&gt;sed&lt;/code&gt;, &lt;code&gt;awk&lt;/code&gt; et autres expressions régulières :-)
En plus de xml et groovy, voyez vous une place pour une configuration de logback au format &#039;.properties&#039; ?
&lt;strong&gt;Information de packaging dans les stack traces (&quot;xException{length}&quot;)&lt;/strong&gt;
Ces informations sont biens pratiques pour diagnostiquer les problèmes de class loader et de jar qui embarquent &#039;la terre entière&#039; dans des versions obsolète.
Connaissez-vous le cout en performances de l&#039;ajout de cette information ?
Est-il raisonnable d&#039;activer l&#039;ajout d&#039;information de packaging dans les stack trace en production ou est-ce à éviter en production comme le numéro de ligne du code source java ?
Cyrille</description> <content:encoded><![CDATA[<p>@Ceki ,</p><p><strong>groovy vs. xml vs. properties</strong><br
/> Je crois qu&#8217;il est nécessaire que j&#8217;ajoute une deuxième partie à ce billet pour essayer la configuration groovy !</p><p>Réflexion faite, je vois deux raisons pour lesquelles les exploitants pourraient préférer groovy à XML pour configurer nos logs :<br
/> * les configurations sous forme de DSL se banalisent : <a
href="http://varnish-cache.org/wiki/VCL" rel="nofollow">Varnish Cache</a>, <a
href="http://redmine.lighttpd.net/wiki/1/TutorialConfiguration" rel="nofollow">lighthttpd</a>, etc<br
/> * ils détestent tellement XML qui est tellement <em>unfriendly</em> à <code>grep</code>, <code>sed</code>, <code>awk</code> et autres expressions régulières <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p><p>En plus de xml et groovy, voyez vous une place pour une configuration de logback au format &#8216;.properties&#8217; ?</p><p><strong>Information de packaging dans les stack traces (&laquo;&nbsp;xException{length}&nbsp;&raquo;)</strong></p><p>Ces informations sont biens pratiques pour diagnostiquer les problèmes de class loader et de jar qui embarquent &#8216;la terre entière&#8217; dans des versions obsolète.</p><p>Connaissez-vous le cout en performances de l&#8217;ajout de cette information ?</p><p>Est-il raisonnable d&#8217;activer l&#8217;ajout d&#8217;information de packaging dans les stack trace en production ou est-ce à éviter en production comme le numéro de ligne du code source java ?</p><p>Cyrille</p> ]]></content:encoded> </item> <item><title>Par : Cyrille Le Clerc</title><link>http://blog.xebia.fr/2010/07/07/java-en-production-les-fichiers-de-logs/#comment-28208</link> <dc:creator>Cyrille Le Clerc</dc:creator> <pubDate>Fri, 09 Jul 2010 13:34:15 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=5013#comment-28208</guid> <description>@Waddle,
Ecrire des logs dans une base, je crains d&#039;avoir une fois de plus une sensibilité différente :-)
Je n&#039;en dévoile pas plus aujourd&#039;hui car la gestion de l&#039;audit est le sujet de mon prochain billet.
Pour boire un verre, faute de session du Paris JUG en Aout, le touilleur-express a évoqué un apéro geek cet été, ce poourrait-être l&#039;occasion :-)
Cyrille</description> <content:encoded><![CDATA[<p>@Waddle,</p><p>Ecrire des logs dans une base, je crains d&#8217;avoir une fois de plus une sensibilité différente <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p><p>Je n&#8217;en dévoile pas plus aujourd&#8217;hui car la gestion de l&#8217;audit est le sujet de mon prochain billet.</p><p>Pour boire un verre, faute de session du Paris JUG en Aout, le touilleur-express a évoqué un apéro geek cet été, ce poourrait-être l&#8217;occasion <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p><p>Cyrille</p> ]]></content:encoded> </item> <item><title>Par : Cyrille Le Clerc</title><link>http://blog.xebia.fr/2010/07/07/java-en-production-les-fichiers-de-logs/#comment-28205</link> <dc:creator>Cyrille Le Clerc</dc:creator> <pubDate>Fri, 09 Jul 2010 12:52:46 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=5013#comment-28205</guid> <description>@Tom,
L&#039;affichage du numéro de ligne de code java qui a généré le message de log est très couteux et ne devrait pas être activé en production si les performances sont importantes. Ce coût provient du fait que le framework de logs doit générer une stack trace puis parser la chaine de caractère pour en extrait le numéro de ligne.
Extrait de la &lt;a href=&quot;http://logback.qos.ch/manual/layouts.html&quot; rel=&quot;nofollow&quot;&gt;documentation de logback&lt;/a&gt; :
&lt;blockquote&gt;&quot;Generating the line number information is not particularly fast. Thus, its use should be avoided unless execution speed is not an issue.&quot;&lt;/blockquote&gt;
Un refactoring simple et rapide pour comprendre quelle ligne de code a émis un message de log est de s&#039;assurer que chaque message est différent. En plus d&#039;être un &quot;quick win&quot;, cette tactique améliorera la qualité des logs en les rendant plus explicites.
Dans un deuxième temps, le refactoring des méthodes obèses peut être entrepris si c&#039;est compatible avec les enjeux du projet ...
Cyrille</description> <content:encoded><![CDATA[<p>@Tom,<br
/> L&#8217;affichage du numéro de ligne de code java qui a généré le message de log est très couteux et ne devrait pas être activé en production si les performances sont importantes. Ce coût provient du fait que le framework de logs doit générer une stack trace puis parser la chaine de caractère pour en extrait le numéro de ligne.</p><p>Extrait de la <a
href="http://logback.qos.ch/manual/layouts.html" rel="nofollow">documentation de logback</a> :</p><blockquote><p>&laquo;&nbsp;Generating the line number information is not particularly fast. Thus, its use should be avoided unless execution speed is not an issue.&nbsp;&raquo;</p></blockquote><p>Un refactoring simple et rapide pour comprendre quelle ligne de code a émis un message de log est de s&#8217;assurer que chaque message est différent. En plus d&#8217;être un &laquo;&nbsp;quick win&nbsp;&raquo;, cette tactique améliorera la qualité des logs en les rendant plus explicites.</p><p>Dans un deuxième temps, le refactoring des méthodes obèses peut être entrepris si c&#8217;est compatible avec les enjeux du projet &#8230;</p><p>Cyrille</p> ]]></content:encoded> </item> <item><title>Par : Tom</title><link>http://blog.xebia.fr/2010/07/07/java-en-production-les-fichiers-de-logs/#comment-28204</link> <dc:creator>Tom</dc:creator> <pubDate>Fri, 09 Jul 2010 11:48:57 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=5013#comment-28204</guid> <description>Question pseudo-technique :
Quelle est l&#039;impact de garder les numéros de ligne dans les logs ?
(impact en terme de perf, de compilation)
Pour info, le format donnerait : %method\(%line\
Je pense que cela a une certaine valeur quand le code n&#039;est pas forcément écrit (grosses méthodes...).
Merci,
Tom</description> <content:encoded><![CDATA[<p>Question pseudo-technique :</p><p>Quelle est l&#8217;impact de garder les numéros de ligne dans les logs ?<br
/> (impact en terme de perf, de compilation)</p><p>Pour info, le format donnerait : %method\(%line\</p><p>Je pense que cela a une certaine valeur quand le code n&#8217;est pas forcément écrit (grosses méthodes&#8230;).</p><p>Merci,</p><p>Tom</p> ]]></content:encoded> </item> <item><title>Par : Waddle</title><link>http://blog.xebia.fr/2010/07/07/java-en-production-les-fichiers-de-logs/#comment-28198</link> <dc:creator>Waddle</dc:creator> <pubDate>Fri, 09 Jul 2010 08:25:11 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=5013#comment-28198</guid> <description>@Cyrille
Toujours dispo pour une discussion autour d&#039;un verre ;-)
J&#039;ai également travaillé sur un site dernièrement pour un assureur ou certaines traces devaient être conservées et avaient en outre une valeur légale. Nous avons opté dans ce cas pour un stockage de ces &quot;logs&quot; en base plutôt que dans un fichier, mais on s&#039;éloigne du sujet :-)</description> <content:encoded><![CDATA[<p>@Cyrille</p><p>Toujours dispo pour une discussion autour d&#8217;un verre <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /></p><p>J&#8217;ai également travaillé sur un site dernièrement pour un assureur ou certaines traces devaient être conservées et avaient en outre une valeur légale. Nous avons opté dans ce cas pour un stockage de ces &laquo;&nbsp;logs&nbsp;&raquo; en base plutôt que dans un fichier, mais on s&#8217;éloigne du sujet <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p> ]]></content:encoded> </item> <item><title>Par : Ceki Gülcü</title><link>http://blog.xebia.fr/2010/07/07/java-en-production-les-fichiers-de-logs/#comment-28197</link> <dc:creator>Ceki Gülcü</dc:creator> <pubDate>Fri, 09 Jul 2010 07:48:20 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=5013#comment-28197</guid> <description>Merci pour cet article qui exprime les besoins de l’exploitation. C’est toujours très intéressant de se placer du point de vue de l’exploitation.
S’agissant du format des fichiers de configuration, pour une personne capable de programmer, le format Groovy comparé au formats XML et properties offre une puissance d’expression très largement supérieure. Il me semble que dans la majorité des cas, une fois qu’on goutte à ce nouveau format (logback.groovy), on ne peut plus revenir en arrière mais on n’a pas encore suffisamment de recul sur le sujet.
Vivement le prochain article,</description> <content:encoded><![CDATA[<p>Merci pour cet article qui exprime les besoins de l’exploitation. C’est toujours très intéressant de se placer du point de vue de l’exploitation.</p><p>S’agissant du format des fichiers de configuration, pour une personne capable de programmer, le format Groovy comparé au formats XML et properties offre une puissance d’expression très largement supérieure. Il me semble que dans la majorité des cas, une fois qu’on goutte à ce nouveau format (logback.groovy), on ne peut plus revenir en arrière mais on n’a pas encore suffisamment de recul sur le sujet.</p><p>Vivement le prochain article,</p> ]]></content:encoded> </item> <item><title>Par : Cyrille Le Clerc</title><link>http://blog.xebia.fr/2010/07/07/java-en-production-les-fichiers-de-logs/#comment-28182</link> <dc:creator>Cyrille Le Clerc</dc:creator> <pubDate>Thu, 08 Jul 2010 22:58:43 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=5013#comment-28182</guid> <description>@Sébastien,
Je suis bien d&#039;accord avec vous ! J&#039;ai été choqué la première fois que j&#039;ai vu un exploitant évaluer la disponibilité d&#039;une application java en faisant un &#039;ps&#039;.
Finalement, la supervision de la disponibilité en regardant l&#039;augmentation de la taille des fichiers de logs est beaucoup plus high-tech :-)
Sur le fond, je vous rejoins totalement et nous travaillons à un billet concernant JMX.
Cyrille</description> <content:encoded><![CDATA[<p>@Sébastien,</p><p>Je suis bien d&#8217;accord avec vous ! J&#8217;ai été choqué la première fois que j&#8217;ai vu un exploitant évaluer la disponibilité d&#8217;une application java en faisant un &#8216;ps&#8217;.<br
/> Finalement, la supervision de la disponibilité en regardant l&#8217;augmentation de la taille des fichiers de logs est beaucoup plus high-tech <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p><p>Sur le fond, je vous rejoins totalement et nous travaillons à un billet concernant JMX.</p><p>Cyrille</p> ]]></content:encoded> </item> <item><title>Par : Cyrille Le Clerc</title><link>http://blog.xebia.fr/2010/07/07/java-en-production-les-fichiers-de-logs/#comment-28181</link> <dc:creator>Cyrille Le Clerc</dc:creator> <pubDate>Thu, 08 Jul 2010 22:52:20 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=5013#comment-28181</guid> <description>@Ceki,
Merci, c&#039;est un honneur d&#039;avoir un commentaire d&#039;une personne qui a autant impacté notre quotidien de javaiste.
Pour la configuration en groovy, comme je l&#039;ai dit dans mon billet, je suis nostalgique de nos fichiers de configuration au format &#039;.properties&#039;. Pas tellement pour mes goûts personnels mais parce que mes interlocuteurs de l&#039;exploitation préfèrent ce format à XML.
J&#039;ai peur que groovy ne soit pas plus &quot;sysadmin friendly&quot; que ne l&#039;est XML aux yeux des exploitants :-)
Cyrille</description> <content:encoded><![CDATA[<p>@Ceki,</p><p>Merci, c&#8217;est un honneur d&#8217;avoir un commentaire d&#8217;une personne qui a autant impacté notre quotidien de javaiste.</p><p>Pour la configuration en groovy, comme je l&#8217;ai dit dans mon billet, je suis nostalgique de nos fichiers de configuration au format &#8216;.properties&#8217;. Pas tellement pour mes goûts personnels mais parce que mes interlocuteurs de l&#8217;exploitation préfèrent ce format à XML.<br
/> J&#8217;ai peur que groovy ne soit pas plus &laquo;&nbsp;sysadmin friendly&nbsp;&raquo; que ne l&#8217;est XML aux yeux des exploitants <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p><p>Cyrille</p> ]]></content:encoded> </item> <item><title>Par : Cyrille Le Clerc</title><link>http://blog.xebia.fr/2010/07/07/java-en-production-les-fichiers-de-logs/#comment-28180</link> <dc:creator>Cyrille Le Clerc</dc:creator> <pubDate>Thu, 08 Jul 2010 22:44:50 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=5013#comment-28180</guid> <description>@Waddle,
Votre pudeur vous honore :-) je vous envoie de ce pas un email pour vous offrir un verre pour discuter de vive voix. Que les personnes intéressées par ce débat m&#039;envoient un email :-)
&gt; quelques lignes peuvent être perdues. Rien de rédhibitoire normalement.
J&#039;ai récemment travaillé sur un site web qui permettait notamment d&#039;uploader des photos. Il n&#039;était pas possible de perdre quelques logs d&#039;audit. Surtout si le but / la justification était de se dispenser de faire collaborer deux équipes pour écrire ensemble un fichier de configuration de logs.
Mon coeur s&#039;incline toujours vers la rotation des fichiers de logs grâce à nos frameworks logback/log4j :-)
Cyrille</description> <content:encoded><![CDATA[<p>@Waddle,</p><p>Votre pudeur vous honore <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> je vous envoie de ce pas un email pour vous offrir un verre pour discuter de vive voix. Que les personnes intéressées par ce débat m&#8217;envoient un email <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p><p>> quelques lignes peuvent être perdues. Rien de rédhibitoire normalement.</p><p>J&#8217;ai récemment travaillé sur un site web qui permettait notamment d&#8217;uploader des photos. Il n&#8217;était pas possible de perdre quelques logs d&#8217;audit. Surtout si le but / la justification était de se dispenser de faire collaborer deux équipes pour écrire ensemble un fichier de configuration de logs.</p><p>Mon coeur s&#8217;incline toujours vers la rotation des fichiers de logs grâce à nos frameworks logback/log4j <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p><p>Cyrille</p> ]]></content:encoded> </item> <item><title>Par : Sébastien</title><link>http://blog.xebia.fr/2010/07/07/java-en-production-les-fichiers-de-logs/#comment-28174</link> <dc:creator>Sébastien</dc:creator> <pubDate>Thu, 08 Jul 2010 20:31:15 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=5013#comment-28174</guid> <description>Évaluer la charge d&#039;une application ou d&#039;une ressource (SGBD, JMS, LDAP) par rapport à ses logs ne me semble pas être une méthode appropriée.
JMX et les agents de monitoring sont d&#039;avantages préconisés.</description> <content:encoded><![CDATA[<p>Évaluer la charge d&#8217;une application ou d&#8217;une ressource (SGBD, JMS, LDAP) par rapport à ses logs ne me semble pas être une méthode appropriée.<br
/> JMX et les agents de monitoring sont d&#8217;avantages préconisés.</p> ]]></content:encoded> </item> <item><title>Par : Ceki Gülcü</title><link>http://blog.xebia.fr/2010/07/07/java-en-production-les-fichiers-de-logs/#comment-28161</link> <dc:creator>Ceki Gülcü</dc:creator> <pubDate>Thu, 08 Jul 2010 13:55:14 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=5013#comment-28161</guid> <description>Merci pour cet article. En ce qui concerne le format des fichiers de configuration, logback supporte depuis peu le format groovy qui est plutôt agréable à utiliser. Pour plus d’infos voir http://logback.qos.ch/manual/groovy.html
S’agissant des exceptions, logback peut inclure des informations sur le packaging qui peut être parfois extrêmement utile : http://logback.qos.ch/manual/layouts.html#xThrowable
--
Ceki</description> <content:encoded><![CDATA[<p>Merci pour cet article. En ce qui concerne le format des fichiers de configuration, logback supporte depuis peu le format groovy qui est plutôt agréable à utiliser. Pour plus d’infos voir <a
href="http://logback.qos.ch/manual/groovy.html" rel="nofollow">http://logback.qos.ch/manual/groovy.html</a></p><p>S’agissant des exceptions, logback peut inclure des informations sur le packaging qui peut être parfois extrêmement utile : <a
href="http://logback.qos.ch/manual/layouts.html#xThrowable" rel="nofollow">http://logback.qos.ch/manual/layouts.html#xThrowable</a></p><p>&#8211;<br
/> Ceki</p> ]]></content:encoded> </item> <item><title>Par : Waddle</title><link>http://blog.xebia.fr/2010/07/07/java-en-production-les-fichiers-de-logs/#comment-28159</link> <dc:creator>Waddle</dc:creator> <pubDate>Thu, 08 Jul 2010 12:20:26 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=5013#comment-28159</guid> <description>Je préfère pas faire de pub publique dans les commentaires de votre blog puisque nous sommes concurrents sur d&#039;autres aspects ;-) mais si vous êtes intéressé, je suis dispo pour vous donner des infos.
Pour logrotate, il faut le configurer en copytruncate. Attention, s&#039;il y a vraiment plein de lignes de logs, pendant une fraction de seconde, quelques lignes peuvent être perdues. Rien de rédhibitoire normalement.</description> <content:encoded><![CDATA[<p>Je préfère pas faire de pub publique dans les commentaires de votre blog puisque nous sommes concurrents sur d&#8217;autres aspects <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> mais si vous êtes intéressé, je suis dispo pour vous donner des infos.</p><p>Pour logrotate, il faut le configurer en copytruncate. Attention, s&#8217;il y a vraiment plein de lignes de logs, pendant une fraction de seconde, quelques lignes peuvent être perdues. Rien de rédhibitoire normalement.</p> ]]></content:encoded> </item> <item><title>Par : emmanuel lécharny</title><link>http://blog.xebia.fr/2010/07/07/java-en-production-les-fichiers-de-logs/#comment-28157</link> <dc:creator>emmanuel lécharny</dc:creator> <pubDate>Thu, 08 Jul 2010 11:54:25 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=5013#comment-28157</guid> <description>Concernant l&#039;utilisation des logs pour suivre la dispo de l&#039;appli (par contrôle de l&#039;autgmentation de la taille), ça m&#039;a valu une de mes plus grosse rigolade professionnelle (jaune, la rigolade). Le système comparait la taille des logs à 5 mins d&#039;intervalle, et si cette taille n&#039;avait pas augmenté, une relance des serveurs était effectuée.
La conséquence : entre 1h du mat et 5 h du mat, une relance toutes les 5 minutes...
En conclusion, cette solution est un pur hack, et franchement un hack complètement crétin. Sin on a besoin de vérifier qu&#039;une application est présente, il y a des outils pour cela (patrol, etc...)
Sinon, un autre type de logs est très intéressant à mettre en place : le log d&#039;utlisation de resources partagées. Par exemple, un log pour les connexion à une base de données, de serveur LDAP, etc. cela permet d&#039;évaluer les pics de charge sur ces resources. Pratique.</description> <content:encoded><![CDATA[<p>Concernant l&#8217;utilisation des logs pour suivre la dispo de l&#8217;appli (par contrôle de l&#8217;autgmentation de la taille), ça m&#8217;a valu une de mes plus grosse rigolade professionnelle (jaune, la rigolade). Le système comparait la taille des logs à 5 mins d&#8217;intervalle, et si cette taille n&#8217;avait pas augmenté, une relance des serveurs était effectuée.</p><p>La conséquence : entre 1h du mat et 5 h du mat, une relance toutes les 5 minutes&#8230;</p><p>En conclusion, cette solution est un pur hack, et franchement un hack complètement crétin. Sin on a besoin de vérifier qu&#8217;une application est présente, il y a des outils pour cela (patrol, etc&#8230;)</p><p>Sinon, un autre type de logs est très intéressant à mettre en place : le log d&#8217;utlisation de resources partagées. Par exemple, un log pour les connexion à une base de données, de serveur LDAP, etc. cela permet d&#8217;évaluer les pics de charge sur ces resources. Pratique.</p> ]]></content:encoded> </item> <item><title>Par : Cyrille Le Clerc</title><link>http://blog.xebia.fr/2010/07/07/java-en-production-les-fichiers-de-logs/#comment-28154</link> <dc:creator>Cyrille Le Clerc</dc:creator> <pubDate>Thu, 08 Jul 2010 10:07:07 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=5013#comment-28154</guid> <description>@Waddle
Un Contegix à la française ??? Un hébergeur qui sait lire des stack traces ? Il faut nous en dire plus ... et proposer une soirée au Paris JUG sur Java vu par un hébergeur. Plutôt que de vous envoyer un email privé, c&#039;est une demande publique :-).
Pour revenir à &quot;logrotate over java&quot;,  comment se passe la concurrence d&#039;accès en écriture sur le fichier ? Simplifions en nous limitant à Linux avec un file appender Logback ou Log4j. Faut-il utiliser logrotate en copy+create ou  move+create ?
Cyrille</description> <content:encoded><![CDATA[<p>@Waddle</p><p>Un Contegix à la française ??? Un hébergeur qui sait lire des stack traces ? Il faut nous en dire plus &#8230; et proposer une soirée au Paris JUG sur Java vu par un hébergeur. Plutôt que de vous envoyer un email privé, c&#8217;est une demande publique <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p><p>Pour revenir à &laquo;&nbsp;logrotate over java&nbsp;&raquo;,  comment se passe la concurrence d&#8217;accès en écriture sur le fichier ? Simplifions en nous limitant à Linux avec un file appender Logback ou Log4j. Faut-il utiliser logrotate en copy+create ou  move+create ?</p><p>Cyrille</p> ]]></content:encoded> </item> <item><title>Par : Waddle</title><link>http://blog.xebia.fr/2010/07/07/java-en-production-les-fichiers-de-logs/#comment-28151</link> <dc:creator>Waddle</dc:creator> <pubDate>Thu, 08 Jul 2010 09:41:30 +0000</pubDate> <guid
isPermaLink="false">http://blog.xebia.fr/?p=5013#comment-28151</guid> <description>Effectivement, l&#039;expérience de chacun rend plus ou moins méfiant à certains outils ou techniques, c&#039;est tout ce qu&#039;il y a de plus naturel. Simplement, je trouve plus logique de regrouper la stratégie de rotation au niveau système surtout si plusieurs technos et/ou applications cohabitent. De plus, les équipes d&#039;exploitations doivent savoir utiliser les outils comme logrotate. Si ce n&#039;est pas le cas, je vous invite à m&#039;envoyer un mail, nous faisons de l&#039;hébergement (entre autre), et nos équipes sont très qualifiées ;-)</description> <content:encoded><![CDATA[<p>Effectivement, l&#8217;expérience de chacun rend plus ou moins méfiant à certains outils ou techniques, c&#8217;est tout ce qu&#8217;il y a de plus naturel. Simplement, je trouve plus logique de regrouper la stratégie de rotation au niveau système surtout si plusieurs technos et/ou applications cohabitent. De plus, les équipes d&#8217;exploitations doivent savoir utiliser les outils comme logrotate. Si ce n&#8217;est pas le cas, je vous invite à m&#8217;envoyer un mail, nous faisons de l&#8217;hébergement (entre autre), et nos équipes sont très qualifiées <img
src='http://blog.xebia.fr/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /></p> ]]></content:encoded> </item> </channel> </rss>
