Log4j composants - Java - Programmation
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.
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 ? Merci |
RTFM !
http://jakarta.apache.org/log4j/docs/manual.html
Citation : |
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
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 |
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
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. |
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 !
Marsh Posté le 29-10-2002 à 14:13:54
persepolis a écrit a écrit : |
euh ?
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 ! |
ta gueule
Marsh Posté le 29-10-2002 à 14:14:12
Merci
J'mets les cuissards & j'attack
Marsh Posté le 29-10-2002 à 14:14:52
puisque tu as lu l'article, si tu as des remarques -> MP
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 ! |
Vas pas me l'agacer alors que j'attack juste.
Marsh Posté le 29-10-2002 à 14:15:43
DarkLord a écrit a écrit : ta gueule |
Haaaa, te revoila Dark, j'ai cru que j't'avais perdu !
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 ! |
Marsh Posté le 29-10-2002 à 14:18:20
DarkLord 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.
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. |
you're welcome
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 ?
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
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 ...
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
on ne le dira jamais assez
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
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 on ne le dira jamais assez 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 |
Voila une partie à développer interessante pour ton article sur Log4j
Mise en place de Log4j dans une application Web ...
P.S : Je te rappelle que je t'ai envoyé y'a pas longtemps le tuto sur la signature des applets
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+
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 où si je trouve des infos conséquentes...
Marsh Posté le 31-10-2002 à 11:25:05
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
Marsh Posté le 04-11-2002 à 11:06:51
DarkLord a écrit a écrit : 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 |
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 ?
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+
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
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 |
Respect
Je continue ... merci
Marsh Posté le 04-11-2002 à 11:32:36
persepolis a écrit a écrit : Respect Je continue ... merci |
you're welcome
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...
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 donc elle n'a pas accès à ton rép web-inf et encore heureux! T'imagines le trou de sécu
-> 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? 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
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 donc elle n'a pas accès à ton rép web-inf et encore heureux! T'imagines le trou de sécu -> 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? 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 ...
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
Marsh Posté le 04-11-2002 à 14:34:16
ReplyMarsh 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 Je voulais dire une classe qui étends ServletContextListener ...
Marsh Posté le 04-11-2002 à 14:49:12
DarkLord a écrit a écrit : oui je me suis trompé hein Je voulais dire une classe qui étends ServletContextListener ... |
qui implémente
Marsh Posté le 04-11-2002 à 14:52:14
--greg-- a écrit a écrit : qui implémente |
ah mais mairde hein
Marsh Posté le 04-11-2002 à 14:54:35
--greg-- a écrit a écrit : qui implémente |
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 ...
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 ...
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 ?
Merci
---------------
Evite les personnes arrogantes et vulgaires, elles sont un tourment pour l'esprit.