Log4j composants

Log4j composants - Java - Programmation

Marsh Posté le 29-10-2002 à 14:03:34    

Bonjour,
je voudrais mettre en place Log4j pour une gestion des logs avec plusieurs niveaux de priorités.
J'ai jeté un oeil (pardon étudié) sur le tuto de maître DarkLord et qques autres tutoriaux et j'y vois qques différences que je ne m'explique pas .
D'un côté : 3 composants (Logger, Appender et Layout) de l'autre : (categories, Appenders, Layout);
D'un côté un fichier xml de l'autre :un fichier log4j.properties ...
sources : www.vipan.com/htdocs/log4jhelp.html
 
Qq'un a-t-il une expérience avant que je mette le nez dans le guidon notamment DarkLord ? :jap:  
Merci


---------------
Evite les personnes arrogantes et vulgaires, elles sont un tourment pour l'esprit.
Reply

Marsh Posté le 29-10-2002 à 14:03:34   

Reply

Marsh Posté le 29-10-2002 à 14:09:41    

salut,
 
pour la différence un Logger est une spécialisation d'une Catégorie. Dans la dernière version de log4j Category est "deprectaed" et tu dois déclarer la catégorie via la classe "Logger" qui est une sous classe de Category. Donc on peut dire que c'est la meme chose
 
Pour XML et .props tu peux en fait déclarer ta config log4j comme tu veux. Soit via un fichier properties soit via un fichier XML. Tu dois jusete changer ton appel de déclaration log4j.
 
Voilà si tu as d'autres questions, n'hésite pas.


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 29-10-2002 à 14:09:54    

persepolis a écrit a écrit :

Bonjour,
je voudrais mettre en place Log4j pour une gestion des logs avec plusieurs niveaux de priorités.
J'ai jeté un oeil (pardon étudié) sur le tuto de maître DarkLord et qques autres tutoriaux et j'y vois qques différences que je ne m'explique pas .
D'un côté : 3 composants (Logger, Appender et Layout) de l'autre : (categories, Appenders, Layout);
D'un côté un fichier xml de l'autre :un fichier log4j.properties ...
sources : www.vipan.com/htdocs/log4jhelp.html
 
Qq'un a-t-il une expérience avant que je mette le nez dans le guidon notamment DarkLord ? :jap:  
Merci




 
RTFM !
 
 
http://jakarta.apache.org/log4j/docs/manual.html
 

Citation :


The first and foremost advantage of any logging API over plain System.out.println resides in its ability to disable certain log statements while allowing others to print unhindered. This capability assumes that the logging space, that is, the space of all possible logging statements, is categorized according to some developer-chosen criteria. This observation had previously led us to choose category as the central concept of the package. However, since log4j version 1.2, Logger class has replaced the Category class. For those familiar with earlier versions of log4j, the Logger class can be considered as a mere alias to the Category class.  

Reply

Marsh Posté le 29-10-2002 à 14:10:54    

lorill > merci de préciser pq Logger doit etre utilisé à la place de Category, j'avais oublié de le préciser :jap:


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 29-10-2002 à 14:12:27    

DarkLord a écrit a écrit :

lorill > merci de préciser pq Logger doit etre utilisé à la place de Category, j'avais oublié de le préciser :jap:




De rien. En plus j'ai jamais utilisé log4j, j'en ai juste chié pour comprendre un message qu'il me sortait au lancement d'une appli, et je me souvenais de ce passage. Voila  :)

Reply

Marsh Posté le 29-10-2002 à 14:13:01    

DarkLord a écrit a écrit :

salut,
 
pour la différence un Logger est une spécialisation d'une Catégorie. Dans la dernière version de log4j Category est "deprectaed" et tu dois déclarer la catégorie via la classe "Logger" qui est une sous classe de Category. Donc on peut dire que c'est la meme chose
 
Pour XML et .props tu peux en fait déclarer ta config log4j comme tu veux. Soit via un fichier properties soit via un fichier XML. Tu dois jusete changer ton appel de déclaration log4j.
 
Voilà si tu as d'autres questions, n'hésite pas.




---------------
Evite les personnes arrogantes et vulgaires, elles sont un tourment pour l'esprit.
Reply

Marsh Posté le 29-10-2002 à 14:13:48    

DarkLord a écrit a écrit :

salut,
 
pour la différence un Logger est une spécialisation d'une Catégorie. Dans la dernière version de log4j Category est "deprectaed" et tu dois déclarer la catégorie via la classe "Logger" qui est une sous classe de Category. Donc on peut dire que c'est la meme chose
 
Pour XML et .props tu peux en fait déclarer ta config log4j comme tu veux. Soit via un fichier properties soit via un fichier XML. Tu dois jusete changer ton appel de déclaration log4j.
 
Voilà si tu as d'autres questions, n'hésite pas.




 
C marrant ça, quand tu parles de log4j ça te rendrai presque aimable ! :D

Reply

Marsh Posté le 29-10-2002 à 14:13:54    

persepolis a écrit a écrit :

 




 
euh ?


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 29-10-2002 à 14:14:08    

El_Gringo a écrit a écrit :

 
 
C marrant ça, quand tu parles de log4j ça te rendrai presque aimable ! :D




 
ta gueule :o
 
 
 :hello:


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 29-10-2002 à 14:14:12    


Merci
J'mets les cuissards & j'attack
 :hello:


---------------
Evite les personnes arrogantes et vulgaires, elles sont un tourment pour l'esprit.
Reply

Marsh Posté le 29-10-2002 à 14:14:12   

Reply

Marsh Posté le 29-10-2002 à 14:14:52    

puisque tu as lu l'article, si tu as des remarques -> MP


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 29-10-2002 à 14:15:13    

El_Gringo a écrit a écrit :

 
 
C marrant ça, quand tu parles de log4j ça te rendrai presque aimable ! :D




Vas pas me l'agacer alors que j'attack juste. :gun:


---------------
Evite les personnes arrogantes et vulgaires, elles sont un tourment pour l'esprit.
Reply

Marsh Posté le 29-10-2002 à 14:15:43    

DarkLord a écrit a écrit :

 
 
ta gueule :o
 :hello:  




 
Haaaa, te revoila Dark, j'ai cru que j't'avais perdu ! :D

Reply

Marsh Posté le 29-10-2002 à 14:16:25    

El_Gringo a écrit a écrit :

 
 
Haaaa, te revoila Dark, j'ai cru que j't'avais perdu ! :D




 
[:ddr555]


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 29-10-2002 à 14:18:20    

DarkLord a écrit a écrit :

 
 
[:ddr555]




 
Cela dit, merci pour l'histoire de Log4j Dark, c'est grâce à ton article que je l'utilise, et ça m'est carrément utile. :hello:

Reply

Marsh Posté le 29-10-2002 à 14:19:56    

El_Gringo a écrit a écrit :

 
 
Cela dit, merci pour l'histoire de Log4j Dark, c'est grâce à ton article que je l'utilise, et ça m'est carrément utile. :hello:  




 
you're welcome


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 29-10-2002 à 14:22:07    

DarkLord a écrit a écrit :

puisque tu as lu l'article, si tu as des remarques -> MP




Ca marche.  
MP <- Kesako ?


---------------
Evite les personnes arrogantes et vulgaires, elles sont un tourment pour l'esprit.
Reply

Marsh Posté le 29-10-2002 à 14:23:41    

persepolis a écrit a écrit :

 
Ca marche.  
MP <- Kesako ?




message privé, derniere icone sur la barre de titre

Reply

Marsh Posté le 31-10-2002 à 09:53:44    

J'ai vraiment un probleme
Impossible de lire mon fichier de config xml...
Ligne :
new DOMConfigurator().doConfigure("\\StlUpload\\Log4jConfig.xml", LogManager.getLoggerRepository());
Message : java.security.AccessControlException: access denied (java.io.FilePermission \StlUpload\Log4jConfig.xml read)
 
Rajoutons que j'essaie de mettre en place Log4j  dans une applet ...


---------------
Evite les personnes arrogantes et vulgaires, elles sont un tourment pour l'esprit.
Reply

Marsh Posté le 31-10-2002 à 10:18:50    

arf bin ouais c'est malin.
Il est ou ton fichier log4j. Et tu crois sans doute que tu va pouvoir logger sur la machine locale (et donc ecrire un fichier sur le disque du client) comme ca par magie
 
 [:xp1700]  
 
on ne le dira jamais assez :fou:
 
Applet =  
 
- Lecture de données distantes (page web etc)
- Ouverture d'une socket QUE sur l'ip ou l'applet a été téléchargé
- AUCUN accès a la machine cliente (que ce soit en lecture ET en écriture).
 
donc forcément dans une applet ca va pas trop le faire  :sarcastic:


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 31-10-2002 à 10:32:54    

DarkLord a écrit a écrit :

arf bin ouais c'est malin.
Il est ou ton fichier log4j. Et tu crois sans doute que tu va pouvoir logger sur la machine locale (et donc ecrire un fichier sur le disque du client) comme ca par magie
 
 [:xp1700]  
 
on ne le dira jamais assez :fou:
 
Applet =  
 
- Lecture de données distantes (page web etc)
- Ouverture d'une socket QUE sur l'ip ou l'applet a été téléchargé
- AUCUN accès a la machine cliente (que ce soit en lecture ET en écriture).
 
donc forcément dans une applet ca va pas trop le faire  :sarcastic:  




Voila une partie à développer interessante pour ton article sur Log4j
Mise en place de Log4j dans une application Web ... :D  
 
P.S : Je te rappelle que je t'ai envoyé y'a pas longtemps le tuto sur la signature des applets  
 


---------------
Evite les personnes arrogantes et vulgaires, elles sont un tourment pour l'esprit.
Reply

Marsh Posté le 31-10-2002 à 10:49:29    

pour la signature j'ai déjà fait un article là dessus et je pensais qu'il était au meme endroit.
tu  confonds application web et environnement web. C'est clair que le déploiement de log4j dans une serveur J2EE pourrait etre sympa mais il ne faut pas confondre coté serveur et applet (coté client).
 
Selon moi je ne vois aucun intéret de déployer log4j dans une applet ...
 
Et pour inclure le déploiement dans l'article je suis contre. Il faut focaliser et limiter ce qu'on explique. Toi maintenant t'as plus ou moins compris les bases de log4J. Si maintenant j'ajoute encore 3 pages avec du code pour déployer en J2EE le mec qui capte que dale à log4j va etre noyé.
 
Donc éventuellement un autre article. Mais tu peux l'écrire hein, t'es le bienvenu.
 
A+


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 31-10-2002 à 11:00:11    

Maître DarkLord a écrit :

 
Selon moi je ne vois aucun intéret de déployer log4j dans une applet ...




G un opérateur qui fait des upload de fichiers/repertoires de son poste sur un serveur et je veux gerer des fichiers et traces console de log d'info (Transfert ok) et d'exception (Echec transfert)
J'vois ce que je peux faire d'autre ?
 

Maître DarkLord a écrit :

 
Donc éventuellement un autre article. Mais tu peux l'écrire hein, t'es le bienvenu.




Qd on m'appelera maître Persepolis, j'attaquerai :jap: où si je trouve des infos conséquentes...


---------------
Evite les personnes arrogantes et vulgaires, elles sont un tourment pour l'esprit.
Reply

Marsh Posté le 31-10-2002 à 11:25:05    

:jap: ta confiance m'honore.
 
bon je regarde à ton truc plus tard si tu veux bien. Je n'ai pas encore commencé à bosser. il serait peut etre temps :D


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 04-11-2002 à 11:06:51    

DarkLord a écrit a écrit :

 :jap: ta confiance m'honore.
 
bon je regarde à ton truc plus tard si tu veux bien. Je n'ai pas encore commencé à bosser. il serait peut etre temps :D




J'ai trouve une servlet qui initialise mon fichier de config au demarrage de apache/Tomcat.
Le bleme c'est que j'ai une grosse erreur lors de ce demarrage
Certainement un problème de ClassPath
 
2002-11-04 10:53:27 StandardContext[/stlupload]: Servlet /stlupload threw load() exception
javax.servlet.ServletException: Servlet.init() for servlet log4j-init threw exception
.....
----- Root Cause -----
java.lang.NoClassDefFoundError: org/apache/log4j/PropertyConfigurator
 at Log4jInit.init(Log4jInit.java:16)
 
Dans ma servlet, j'ai :
import org.apache.log4j.PropertyConfigurator;
 
Dans mon ClassPath :  
c:\jsdk2.1\servlet.jar;%CATALINA_HOME%\webapps\StlUpload
 
Ma Classe Log4jInit.java se trouve sous webapps\StlUpload\WEB-INF\classes
 
J'ai mis le package org.apache.log4j sous webapps\StlUpload
 
Qq'un a-t-il une idée sur ce qui merdouille ?
 
 
 


---------------
Evite les personnes arrogantes et vulgaires, elles sont un tourment pour l'esprit.
Reply

Marsh Posté le 04-11-2002 à 11:11:46    

alors déjà ce genre de chose a été abordé je pense pour l'init en J2EE. La manière la plus propre est de faire une Servlet qui implémente ServletContextListener. Je vais essayer de retrouver le thread qui en parle ...
 
> Benou si tu lis ca on en a déjà parlé.
 
Pour ton problème de JAR, tu dois mettre log4j.jar dans /webapps/tawebapp/WEB-INF/lib. Une meilleure idée serait de le mettre dans le répertoire lib de tomcat comme ca toutes les webapps peuvent en profiter.
 
oublie le classpath système avec des app serveur. Certains ne les utilisent pas et c'est vraiment une manière sale de procéder.
 
A+


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 04-11-2002 à 11:13:23    

persepolis a écrit a écrit :

 
J'ai mis le package org.apache.log4j sous webapps\StlUpload




 
si tu as les classes (structure de rép) tu dois mettre le rep org dans webapps/StlUpload/WEB-INF/classes
 
si tu as le jar tu dois mettre log4j.jar dans webapps/StlUpload/WEB-INF/lib


Message édité par darklord le 04-11-2002 à 11:13:38

---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 04-11-2002 à 11:23:32    

DarkLord a écrit a écrit :

 
 
si tu as les classes (structure de rép) tu dois mettre le rep org dans webapps/StlUpload/WEB-INF/classes
 
si tu as le jar tu dois mettre log4j.jar dans webapps/StlUpload/WEB-INF/lib




 
 :jap: Respect  :jap:  
Je continue ... merci


---------------
Evite les personnes arrogantes et vulgaires, elles sont un tourment pour l'esprit.
Reply

Marsh Posté le 04-11-2002 à 11:32:36    

persepolis a écrit a écrit :

 
 
 :jap: Respect  :jap:  
Je continue ... merci




 
you're welcome


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 04-11-2002 à 13:45:53    

DarkLord a écrit a écrit :

 
 
you're welcome




Une aut'tit question ?
Mon appli (applets) est dans un jar.
Comment l'applet peut connaître mon package org.apache.log4j qui se trouve dans log4j-1.2.6.jar de WEB-INF/lib
 
J'ai essayé un truc comme ca mais bof !!!
    <PARAM NAME = ARCHIVE VALUE = "stlupload.jar,WEB-INF/lib/log4j-1.2.6.jar" >
L'est pas d'accord...


---------------
Evite les personnes arrogantes et vulgaires, elles sont un tourment pour l'esprit.
Reply

Marsh Posté le 04-11-2002 à 13:51:54    

persepolis a écrit a écrit :

 
Une aut'tit question ?
Mon appli (applets) est dans un jar.
Comment l'applet peut connaître mon package org.apache.log4j qui se trouve dans log4j-1.2.6.jar de WEB-INF/lib
 
J'ai essayé un truc comme ca mais bof !!!
    <PARAM NAME = ARCHIVE VALUE = "stlupload.jar,WEB-INF/lib/log4j-1.2.6.jar" >
L'est pas d'accord...
 




 
je t'ai dit que ca n'avait aucun sens de déployer log4j dans une applet !!!!!! ensuite tu confons complètement la partie serveur et la partie cliente. L'applet, elle tourne chez le client hein :o donc elle n'a pas accès à ton rép web-inf et encore heureux! T'imagines le trou de sécu  :ouch:  
 
-> arrête avec og4j dans ton applet c'est n'importe nawak sauf si tu veux loguer à distance mais bon c'est une feature avancée donc ... T'as pas compris qd je t'ai expliqué qu'une applet ne pouvait pas écrire en local sur le disque ou quoi?  :heink: Et quand bien même tu la signes et que tu files les droits bin c'est lourd. Imagine que tes clients doivent descendre log4j.jar pour faire tourner ton applet. Je te dis pas le temps de téléchargement ;)


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 04-11-2002 à 13:59:33    

DarkLord a écrit a écrit :

 
 
je t'ai dit que ca n'avait aucun sens de déployer log4j dans une applet !!!!!! ensuite tu confons complètement la partie serveur et la partie cliente. L'applet, elle tourne chez le client hein :o donc elle n'a pas accès à ton rép web-inf et encore heureux! T'imagines le trou de sécu  :ouch:  
 
-> arrête avec og4j dans ton applet c'est n'importe nawak sauf si tu veux loguer à distance mais bon c'est une feature avancée donc ... T'as pas compris qd je t'ai expliqué qu'une applet ne pouvait pas écrire en local sur le disque ou quoi?  :heink: Et quand bien même tu la signes et que tu files les droits bin c'est lourd. Imagine que tes clients doivent descendre log4j.jar pour faire tourner ton applet. Je te dis pas le temps de téléchargement ;)  




T'as raison, c'est le marasme.
On l'avait bien dit qu'il fallait pas y'aller.
C'est un peu le problème quand on bosse sur une machine sur lequel se trouve le serveur et le client. A la fin on se mélange ...


---------------
Evite les personnes arrogantes et vulgaires, elles sont un tourment pour l'esprit.
Reply

Marsh Posté le 04-11-2002 à 14:30:40    

DarkLord a écrit a écrit :

alors déjà ce genre de chose a été abordé je pense pour l'init en J2EE. La manière la plus propre est de faire une Servlet qui implémente ServletContextListener. Je vais essayer de retrouver le thread qui en parle ...
 
> Benou si tu lis ca on en a déjà parlé.




yep !
 
sauf que ca a pas besoin d'être une servlet ... je trouverais même plutot ca illogique. une bête classe implémentant ServletContextListener serait lpus approppriée

Reply

Marsh Posté le 04-11-2002 à 14:34:16    

[:cupra]


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 04-11-2002 à 14:47:20    

benou a écrit a écrit :

 
yep !
 
sauf que ca a pas besoin d'être une servlet ... je trouverais même plutot ca illogique. une bête classe implémentant ServletContextListener serait lpus approppriée




 
oui je me suis trompé hein :o Je voulais dire une classe qui étends ServletContextListener ...


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 04-11-2002 à 14:49:12    

DarkLord a écrit a écrit :

 
 
oui je me suis trompé hein :o Je voulais dire une classe qui étends ServletContextListener ...



qui implémente :o


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 04-11-2002 à 14:52:14    

--greg-- a écrit a écrit :

qui implémente :o




 
ah mais mairde hein :o


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 04-11-2002 à 14:54:35    

--greg-- a écrit a écrit :

qui implémente :o




Fô pas vous battre...
C'est pas ça qui fait avancer mon schimillimillliblick...
Qui pourrait me mettre sur la piste pour que je puisse avoir des un fichier de log sur mon serveur mis à jour à partir d'actions effectuées par une applet ...


---------------
Evite les personnes arrogantes et vulgaires, elles sont un tourment pour l'esprit.
Reply

Marsh Posté le 04-11-2002 à 14:59:34    

persepolis a écrit a écrit :

 
Fô pas vous battre...
C'est pas ça qui fait avancer mon schimillimillliblick...
Qui pourrait me mettre sur la piste pour que je puisse avoir des un fichier de log sur mon serveur mis à jour à partir d'actions effectuées par une applet ...




 
bin en faisaint du log en remote par RMI ou ce genre de choses mais on en reste au meme point. log4j.jar doit etre dispo chez les clients et dans le JRE du browser ou tu dois le filer avec ton applet et vive le DL bien chiant ...


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed