{"id":2707,"date":"2021-10-02T19:24:01","date_gmt":"2021-10-02T17:24:01","guid":{"rendered":"http:\/\/blogperso.union31.fr\/?p=2707"},"modified":"2021-10-03T22:38:39","modified_gmt":"2021-10-03T20:38:39","slug":"java-log4j-sous-netbeans","status":"publish","type":"post","link":"https:\/\/blogperso.union31.fr\/?p=2707","title":{"rendered":"Java &#8211; Log4j (sous Netbeans\/Maven)"},"content":{"rendered":"\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Sommaire<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/blogperso.union31.fr\/?p=2707\/#I_Introduction\" >I Introduction<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/blogperso.union31.fr\/?p=2707\/#II_Declaration_MAVEN_pour_recuperer_le_bibliotheque_LOG4J\" >II D\u00e9claration MAVEN pour r\u00e9cup\u00e9rer le biblioth\u00e8que LOG4J<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/blogperso.union31.fr\/?p=2707\/#III_Exemple_de_code_source\" >III Exemple de code source<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/blogperso.union31.fr\/?p=2707\/#IV_Fichier_de_configuration\" >IV Fichier de configuration<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/blogperso.union31.fr\/?p=2707\/#IV1_Creation_dun_fichier\" >IV.1 Cr\u00e9ation d&rsquo;un fichier<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/blogperso.union31.fr\/?p=2707\/#IV2_Forcer_la_localisation_du_fichier\" >IV.2 Forcer la localisation du fichier<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/blogperso.union31.fr\/?p=2707\/#IV21_Via_les_arguments_de_la_JVM\" >IV.2.1 Via les arguments de la JVM<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/blogperso.union31.fr\/?p=2707\/#IV22_Via_le_code_java_en_utilisant_systemproperty\" >IV.2.2 Via le code java en utilisant  system.property<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/blogperso.union31.fr\/?p=2707\/#IV3_Forcer_le_mode_debug_jvm_arguments\" >IV.3 Forcer le mode debug (jvm arguments)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/blogperso.union31.fr\/?p=2707\/#IV4_Autres_directives\" >IV.4 Autres directives<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/blogperso.union31.fr\/?p=2707\/#V_Coloration_dans_la_console_de_sortie_dans_Netbeans_125_avec_un_projet_MAVEN\" >V Coloration dans la console de sortie dans Netbeans (12.5) avec un projet MAVEN<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/blogperso.union31.fr\/?p=2707\/#V1_Exemple_de_directive_de_configuration_log4j\" >V.1 Exemple de directive de configuration log4j<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/blogperso.union31.fr\/?p=2707\/#V2_Activer_la_couleur_%E2%80%A6\" >V.2 Activer la couleur &#8230;<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/blogperso.union31.fr\/?p=2707\/#V3_Retrouver_les_elements_initiaux_de_Maven\" >V.3 Retrouver les \u00e9l\u00e9ments initiaux de Maven<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/blogperso.union31.fr\/?p=2707\/#VI_Liens_utiles\" >VI Liens utiles<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"I_Introduction\"><\/span>I Introduction<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p><\/p>\n\n\n\n<p>Le logging permet de suivre l&rsquo;activit\u00e9 d&rsquo;une application ou de mettre en place des syst\u00e8me traces afin de d\u00e9boguer plus facilement une application.<\/p>\n\n\n\n<p>Or, dans le cadre du debogging, on a tendance \u00e0 utiliser le \u00ab\u00a0System.out.println()\u00a0\u00bb par facilit\u00e9. Ce qui n&rsquo;est pas bien car c&rsquo;est tr\u00e8s loin d&rsquo;\u00eatre flexible au final voire g\u00e9n\u00e9rateur de perte de temps. En effet, lors de la mise en production de l&rsquo;application, d\u00e9sactiver, effacer ou transformer ces \u00ab\u00a0System.out.println()\u00a0\u00bb s&rsquo;av\u00e8re tr\u00e8s fastidieux. Pour cela l&rsquo;utilisation d&rsquo;un framework d\u00e9di\u00e9 va pouvoir faire gagner \u00e9norm\u00e9ment de temps. En effet, et \u00e0 titre d&rsquo;exemple il peut \u00eatre sp\u00e9cifi\u00e9 plusieurs sorties (console, fichier de log, serveur de logs, etc) en fonction des types de messages de log&#8230;<\/p>\n\n\n\n<p>Ainsi ce petit m\u00e9mo est juste pour montrer comment int\u00e9grer log4J dans un projet netbeans\u2026 Bien-s\u00fbr ce n&rsquo;est pas exhaustif et cet article est une premi\u00e8re \u00e9bauche &#8230; apr\u00e8s \u00e0 chacun de prendre son envol \ud83d\ude42<\/p>\n\n\n\n<p><span style=\"text-decoration: underline;\">Plateforme utilis\u00e9e :<\/span><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>OS UBUNTU 20.4<\/li><li>Netbeans IDE 12.5<\/li><li>projet java avec MAVEN<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"II_Declaration_MAVEN_pour_recuperer_le_bibliotheque_LOG4J\"><\/span>II D\u00e9claration MAVEN pour r\u00e9cup\u00e9rer le biblioth\u00e8que LOG4J<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Cr\u00e9er un projet java \u00ab\u00a0maven\u00a0\u00bb sous Netbean.<\/p>\n\n\n\n<p>Dans le fichier POM indiquer quelle source prendre :<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code lang=\"xml\" class=\"language-xml\">        &lt;dependencies&gt;\n\n<span class=\"has-inline-color has-vivid-cyan-blue-color\">            &lt;dependency&gt;\n                &lt;groupId&gt;org.apache.logging.log4j&lt;\/groupId&gt;\n                &lt;artifactId&gt;log4j-api&lt;\/artifactId&gt;\n                &lt;version&gt;2.14.1&lt;\/version&gt;\n            &lt;\/dependency&gt;\n            &lt;dependency&gt;\n                &lt;groupId&gt;org.apache.logging.log4j&lt;\/groupId&gt;\n                &lt;artifactId&gt;log4j-core&lt;\/artifactId&gt;\n                &lt;version&gt;2.14.1&lt;\/version&gt;\n            &lt;\/dependency&gt;<\/span>\n            \n            \n        &lt;\/dependencies&gt;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"III_Exemple_de_code_source\"><\/span>III Exemple de code source<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Ci-dessous un premier exemple de code source pour utiliser le system de logger.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"java\" class=\"language-java\">package com.union31.test_gson;\n\nimport java.nio.file.FileSystems;\nimport java.nio.file.Path;\nimport org.apache.logging.log4j.LogManager;\nimport org.apache.logging.log4j.Logger;\n\npublic class gson_json {\n    \n    <strong>private static final Logger logger = LogManager.getLogger();<\/strong>\n    \n    public static void main(String[] args) {        \n<strong>        logger.debug(\"msg de debogage\");\n        logger.info(\"msg d'information\");\n        logger.warn(\"msg d'avertissement\");\n        logger.fatal(\"msg d'erreur fatale\");\n        logger.error(\"msg d'erreur\");\n        logger.info(\"Hello, World!\");<\/strong>     \n    }   \n}<\/code><\/pre>\n\n\n\n<p>R\u00e9sultat dans la console d\u2019ex\u00e9cution :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">-----------------------&lt; com.union31:test_GSON &gt;------------------------\nBuilding test_GSON 1.0-SNAPSHOT\n--------------------------------[ jar ]---------------------------------\n\n--- exec-maven-plugin:3.0.0:exec (default-cli) @ test_GSON ---\n19:16:55.927 [main] FATAL com.union31.test_gson.gson_json - msg d'erreur fatale\n19:16:55.927 [main] ERROR com.union31.test_gson.gson_json - msg d'erreur\n<\/code><\/pre>\n\n\n\n<p>On remarque que par d\u00e9faut seuls les messages de type \u00ab\u00a0ERROR\u00a0\u00bb et \u00ab\u00a0FATAL\u00a0\u00bb sont pris en compte.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"IV_Fichier_de_configuration\"><\/span>IV Fichier de configuration<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"IV1_Creation_dun_fichier\"><\/span>IV.1 Cr\u00e9ation d&rsquo;un fichier<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Pour voir les messages de type \u00ab\u00a0DEBUG\u00a0\u00bb ou autres il faut modifier la configuration par d\u00e9faut de log4j.<\/p>\n\n\n\n<p>Pour cela il faut cr\u00e9er un fichier de configuration. Pour le d\u00e9tail du fichier de configuration : <a href=\"https:\/\/logging.apache.org\/log4j\/2.x\/manual\/configuration.html\" target=\"_blank\" rel=\"noreferrer noopener\">lien<\/a><\/p>\n\n\n\n<p>Dans notre cas il a \u00e9t\u00e9 d\u00e9cid\u00e9 d&rsquo;utiliser un fichier xml. Ce dernier contient les lignes suivantes :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"xml\" class=\"language-xml\">&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\n&lt;Configuration status=\"WARN\"&gt;\n  &lt;Appenders&gt;\n    &lt;Console name=\"Console\" target=\"SYSTEM_OUT\"&gt;\n      &lt;PatternLayout pattern=\"%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n\"\/&gt;\n    &lt;\/Console&gt;\n  &lt;\/Appenders&gt;\n  &lt;Loggers&gt;\n    &lt;Root level=\"<strong><span class=\"has-inline-color has-vivid-cyan-blue-color\">debug<\/span><\/strong>\"&gt;\n      &lt;AppenderRef ref=\"Console\"\/&gt;\n    &lt;\/Root&gt;\n  &lt;\/Loggers&gt;\n&lt;\/Configuration&gt;<\/code><\/pre>\n\n\n\n<p>On indiquera &lt;Root level=\u00a0\u00bb<strong><span class=\"has-inline-color has-vivid-cyan-blue-color\">debug<\/span><\/strong>\u00ab\u00a0&gt; pour afficher tous les types de log<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"IV2_Forcer_la_localisation_du_fichier\"><\/span>IV.2 Forcer la localisation du fichier<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Sous Netbeans n&rsquo;ayant pas su trouver o\u00f9 placer pr\u00e9cis\u00e9ment le fichier de configuration dans le projet, il a \u00e9t\u00e9 opt\u00e9 de forcer l&#8217;emplacement du fichier.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"IV21_Via_les_arguments_de_la_JVM\"><\/span>IV.2.1 Via les arguments de la JVM<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>Pour cela il faut indiquer lors de l\u2019ex\u00e9cution du code son emplacement par une directive sp\u00e9cifique. Ainsi il faut aller dans les propri\u00e9t\u00e9s du projet, cat\u00e9gorie \u00ab\u00a0run\u00a0\u00bb. Puis dans le champ \u00ab\u00a0VM options\u00a0\u00bb ajouter la directive suivante :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">-Dlog4j2.configurationFile=\/chemin\/test_GSON\/src\/main\/java\/log4j2.xml<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"IV22_Via_le_code_java_en_utilisant_systemproperty\"><\/span>IV.2.2 Via le code java en utilisant  system.property<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>C&rsquo;est de mon point de vue la meilleure fa\u00e7on de faire car tout est embarqu\u00e9 dans le code &#8230;<\/p>\n\n\n\n<p>Exemple ci-dessous par l&rsquo;ajout du bloc static&#8230;.: <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"java\" class=\"language-java line-numbers\">package com.union31.test_gson;\n\nimport java.nio.file.FileSystems;\nimport java.nio.file.Path;\nimport org.apache.logging.log4j.LogManager;\nimport org.apache.logging.log4j.Logger;\n\npublic class gson_json {\n\n<strong>    static {\n        String chemin_fichier_conf = System.getProperty(\"user.dir\") + \"\/src\/main\/java\/log4j2.xml\";\n        System.setProperty(\"log4j2.configurationFile\", chemin_fichier_conf);\n    }<\/strong>\n            \n    private static final Logger logger = LogManager.getLogger();\n    \n    public static void main(String[] args)  {\n        logger.debug(\"msg de debogage\");\n        logger.info(\"msg d'information\");\n        logger.warn(\"msg d'avertissement\");\n        logger.fatal(\"msg d'erreur fatale\");\n        logger.error(\"msg d'erreur\");\n        logger.info(\"Hello, World!\");\n    }\n}<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"IV3_Forcer_le_mode_debug_jvm_arguments\"><\/span>IV.3 Forcer le mode debug (jvm arguments)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Pour voir si le fichier est bien pris en compte, il est possible de passer le module log4j en mode debug.<\/p>\n\n\n\n<p>pour cela l&rsquo;option \u00e0 ajouter dans les arguments de la vm et la suivante :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">-Dlog4j2.debug<\/code><\/pre>\n\n\n\n<p>Ce qui a pour effet dans la console d\u2019ex\u00e9cution l&rsquo;exemple suivant :<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code class=\"\">-----------------------&lt; com.union31:test_GSON &gt;------------------------\nBuilding test_GSON 1.0-SNAPSHOT\n--------------------------------[ jar ]---------------------------------\n\n--- exec-maven-plugin:3.0.0:exec (default-cli) @ test_GSON ---\nDEBUG StatusLogger Using ShutdownCallbackRegistry class org.apache.logging.log4j.core.util.DefaultShutdownCallbackRegistry\nDEBUG StatusLogger Not in a ServletContext environment, thus not loading WebLookup plugin.\nDEBUG StatusLogger AsyncLogger.ThreadNameStrategy=UNCACHED (user specified null, default is UNCACHED)\nTRACE StatusLogger Using default SystemClock for timestamps.\nDEBUG StatusLogger org.apache.logging.log4j.core.util.SystemClock supports precise timestamps.\nDEBUG StatusLogger Not in a ServletContext environment, thus not loading WebLookup \n...\nDEBUG StatusLogger createLoggers(={root})\n<strong>DEBUG StatusLogger Configuration XmlConfiguration[location=\/home\/xavior\/Documents\/Dev\/DEV\/Netbeans\/test_GSON\/test_GSON\/src\/main\/java\/log4j2.xml] initialized\nDEBUG StatusLogger Starting configuration XmlConfiguration[location=\/home\/xavior\/Documents\/Dev\/DEV\/Netbeans\/test_GSON\/test_GSON\/src\/main\/java\/log4j2.xml]<\/strong>\n<strong>DEBUG StatusLogger Started configuration XmlConfiguration[location=\/home\/xavior\/Documents\/Dev\/DEV\/Netbeans\/test_GSON\/test_GSON\/src\/main\/java\/log4j2.xml] OK.<\/strong>\nTRACE StatusLogger Stopping org.apache.logging.log4j.core.config.DefaultConfiguration@7a5d012c...\n\n...<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"IV4_Autres_directives\"><\/span>IV.4 Autres directives<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Lien pour conna\u00eetre les autres directives : <a href=\"https:\/\/logging.apache.org\/log4j\/2.x\/manual\/configuration.html#SystemProperties\" target=\"_blank\" rel=\"noreferrer noopener\">lien<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"V_Coloration_dans_la_console_de_sortie_dans_Netbeans_125_avec_un_projet_MAVEN\"><\/span>V Coloration dans la console de sortie dans Netbeans (12.5) avec un projet MAVEN<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"V1_Exemple_de_directive_de_configuration_log4j\"><\/span>V.1 Exemple de directive de configuration log4j<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p> Pour obtenir des log en couleur il faut modifier le pattern de sortie. Ainsi cela se traduit par une configuration de ce type dans le fichier xml de log4j :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\n&lt;Configuration status=\"WARN\"&gt;\n  &lt;Appenders&gt;\n    \n    &lt;Console name=\"Console\" target=\"SYSTEM_OUT\"&gt;\n         <strong>&lt;PatternLayout disableAnsi=\"false\"  pattern=\"%highlight{%d{HH:mm:ss.SSS} [%-5level] %logger{36}.%M() ligne:%L - %msg%n}{FATAL=red blink, ERROR=red, WARN=yellow bold, INFO=black, DEBUG=green bold, TRACE=blue}\"\/&gt;<\/strong>\n    &lt;\/Console&gt;\n\n  &lt;\/Appenders&gt;\n  &lt;Loggers&gt;\n    &lt;Root level=\"debug\"&gt;\n      &lt;AppenderRef ref=\"Console\"\/&gt;\n    &lt;\/Root&gt;\n  &lt;\/Loggers&gt;\n&lt;\/Configuration&gt;<\/code><\/pre>\n\n\n\n<p>Une fois enregistr\u00e9, ces param\u00e8tres dans Netbeans avec un projet MAVEN ne fonctionnent pas : le texte reste noir et blanc :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blogperso.union31.fr\/wp-content\/uploads\/2021\/10\/netbeans_log4j_1-1024x426.png\" alt=\"\" class=\"wp-image-2738\" width=\"745\" height=\"310\" srcset=\"https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2021\/10\/netbeans_log4j_1-1024x426.png 1024w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2021\/10\/netbeans_log4j_1-300x125.png 300w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2021\/10\/netbeans_log4j_1-768x319.png 768w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2021\/10\/netbeans_log4j_1.png 1181w\" sizes=\"auto, (max-width: 745px) 100vw, 745px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"V2_Activer_la_couleur_%E2%80%A6\"><\/span>V.2 Activer la couleur &#8230;<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Apr\u00e8s plusieurs heures de recherche, il s&rsquo;av\u00e8re que le module Maven embarqu\u00e9 dans l&rsquo;EDI de Netbeans ne prend pas en charge la gestion des couleurs.<\/p>\n\n\n\n<p>Il faut alors installer Maven. Ici sous Ubuntu :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">sudo apt install maven<\/code><\/pre>\n\n\n\n<p>Ensuite il faut indiquer \u00e0 Netbeans d&rsquo;utiliser ce Maven : menu \u00ab\u00a0Tools\u00a0\u00bb puis \u00ab\u00a0Options\u00a0\u00bb<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blogperso.union31.fr\/wp-content\/uploads\/2021\/10\/netbeans_log4j_2-1024x634.png\" alt=\"\" class=\"wp-image-2739\" width=\"732\" height=\"453\" srcset=\"https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2021\/10\/netbeans_log4j_2-1024x634.png 1024w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2021\/10\/netbeans_log4j_2-300x186.png 300w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2021\/10\/netbeans_log4j_2-768x475.png 768w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2021\/10\/netbeans_log4j_2.png 1275w\" sizes=\"auto, (max-width: 732px) 100vw, 732px\" \/><\/figure>\n\n\n\n<p>Dans \u00ab\u00a0Maven Home\u00a0\u00bb indiquer le chemin de maven nouvellement install\u00e9 : \/usr\/share\/maven puis cliquer sur \u00ab\u00a0OK\u00a0\u00bb.<\/p>\n\n\n\n<p>A la prochaine ex\u00e9cution, la coloration appara\u00eet :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blogperso.union31.fr\/wp-content\/uploads\/2021\/10\/netbeans_log4j_3-1024x244.png\" alt=\"\" class=\"wp-image-2740\" width=\"910\" height=\"217\" srcset=\"https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2021\/10\/netbeans_log4j_3-1024x244.png 1024w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2021\/10\/netbeans_log4j_3-300x71.png 300w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2021\/10\/netbeans_log4j_3-768x183.png 768w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2021\/10\/netbeans_log4j_3.png 1311w\" sizes=\"auto, (max-width: 910px) 100vw, 910px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"V3_Retrouver_les_elements_initiaux_de_Maven\"><\/span>V.3 Retrouver les \u00e9l\u00e9ments initiaux de Maven<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Depuis l&rsquo;utilisation d&rsquo;un Maven externe, il se trouve qu&rsquo;il est plus verbeux que le Maven embarqu\u00e9.<\/p>\n\n\n\n<p>Et pour modifier les param\u00e8tres, il faut le faire manuellement. Pour cela on modifie le fichier <strong>\/usr\/share\/maven\/conf\/logging\/simplelogger.properties<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">org.slf4j.simpleLogger.defaultLogLevel=<strong><span class=\"has-inline-color has-vivid-cyan-blue-color\">error<\/span><\/strong>\norg.slf4j.simpleLogger.showDateTime=false\norg.slf4j.simpleLogger.showThreadName=false\norg.slf4j.simpleLogger.showLogName=false\norg.slf4j.simpleLogger.logFile=System.out\norg.slf4j.simpleLogger.cacheOutputStream=true\norg.slf4j.simpleLogger.levelInBrackets=true\norg.slf4j.simpleLogger.log.Sisu=info\norg.slf4j.simpleLogger.warnLevelString=WARNING<\/code><\/pre>\n\n\n\n<p>En passant le param\u00e8tre \u00ab\u00a0defaultLogLevel\u00a0\u00bb \u00e0 error, Maven sera moins verbeux \ud83d\ude42 . Pour plus d&rsquo;info : <a rel=\"noreferrer noopener\" href=\"http:\/\/www.slf4j.org\/api\/org\/slf4j\/impl\/SimpleLogger.html\" target=\"_blank\">lien<\/a> <\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"VI_Liens_utiles\"><\/span>VI Liens utiles<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>Site officiel<\/td><td><a href=\"https:\/\/logging.apache.org\/log4j\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/logging.apache.org\/log4j\/<\/a><\/td><\/tr><tr><td>Pr\u00e9sentation de l&rsquo;outils (FR)<\/td><td><a href=\"https:\/\/www.jmdoudoux.fr\/java\/dej\/chap-logging.htm\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.jmdoudoux.fr\/java\/dej\/chap-logging.htm<\/a><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I Introduction Le logging permet de suivre l&rsquo;activit\u00e9 d&rsquo;une application ou de mettre en place des syst\u00e8me traces afin de d\u00e9boguer plus facilement une application. Or, dans le cadre du debogging, on a tendance \u00e0 utiliser le \u00ab\u00a0System.out.println()\u00a0\u00bb par facilit\u00e9.<\/p>\n","protected":false},"author":1,"featured_media":2736,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-2707","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-_dev"],"_links":{"self":[{"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=\/wp\/v2\/posts\/2707","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2707"}],"version-history":[{"count":37,"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=\/wp\/v2\/posts\/2707\/revisions"}],"predecessor-version":[{"id":2763,"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=\/wp\/v2\/posts\/2707\/revisions\/2763"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=\/wp\/v2\/media\/2736"}],"wp:attachment":[{"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2707"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2707"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2707"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}