Comment créer un journal nommé dans $ TOMCAT_HOME / logs pour mon servlet?
Question
Je me connecte actuellement via la plus simple des méthodes de mon servlet utilisant Tomcat. J'utilise le journal ServletConfig.getServletContext (). Pour enregistrer l'activité. Ceci écrit dans l'hôte local.AAAA-MM-JJ.log dans $ TOMCAT_HOME / logs.
Je ne veux pas m'éloigner de la simplicité de ce mécanisme de journalisation, sauf en cas d'absolue nécessité. Mais je voudrais nommer mon fichier journal. Plutôt que "localhost" .AAAA-MM-JJ.log, existe-t-il un moyen de l'écrire dans "myAppName" .AAA-MM-DD.log. Je sais que je pourrais créer mon propre mécanisme, mais encore une fois, je cherche la simplicité ici.
J'espère rester à l'écart d'un cadre complet tel que Log4j.
La solution
Pour Tomcat 6.x, vous pouvez modifier la configuration de la journalisation dans conf / logging.properties.
Mais je préfère une configuration séparée avec Log4j ...
Autres conseils
Il existe donc un moyen via le $ TOMCAT_HOME / conf / logging.properties sans toucher le code de la servlet ...
avant ...
handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 4admin.org.apache.juli.FileHandler, 5host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
après ...
handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 4admin.org.apache.juli.FileHandler, 5host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler, 6localhost.org.apache.juli.FileHandler
puis ajoutez ...
6localhost.org.apache.juli.FileHandler.level = FINE
6localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
6localhost.org.apache.juli.FileHandler.prefix = myAppName.
et ajoutez ...
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/myAppName].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/myAppName].handlers = 6localhost.org.apache.juli.FileHandler
et rebondir tomcat. Cela a créé un $ TOMCAT_HOME / logs / monNomApp.2008-10-14.log avec mes messages simplistes ServletConfig.getServletContext (). Log () uniquement.