log4perl ??? - Perl - Programmation
Marsh Posté le 29-05-2009 à 09:32:59
je viens de trouver,
c 'est avec cela :
Log::Log4perl::Appender::DBI --> Effectue la journalisation vers une base de données ;
mais
est -ce possible de faire une journalisation vers une base en plus de ma journalisation vers un file ???
Marsh Posté le 29-05-2009 à 09:47:20
apparamment c'est possible, il faut definir plusieurs appenders,
mais le truc que je n'arrive pas à trouver,
c'est ou et comment je lui indique la table dans laquelle il doit écrire ?
est-ce qu'il y a une structure defini de table ??
Marsh Posté le 29-05-2009 à 10:19:52
j'ai trouvé ceci,mais mais je comprend pas trop comment il font pour définir leur base ici name="datasource" value="DBI:CSV:f_dir=t/tmp"/ :
Code :
|
Marsh Posté le 29-05-2009 à 14:37:24
Citation : DBI:CSV:f_dir=t/tmp |
Tu dis que tu vas te connecter avec le driver DBI (Database Interaction Module) en mode CSV (Comma Separated Values) sur le répertoire t/tmp
les fichiers au format csv de ce repertoire vont être traités comme la base de données.
A+,
Marsh Posté le 29-05-2009 à 14:58:47
en faite
c est pas vraiment a une base de donnée qu'on se connecte
on utilise DBI pour faire du CSV
moi je pensai qu'on pouvait directement acceder a une base avec log4perl
Marsh Posté le 29-05-2009 à 16:35:49
Mais tu peux tout a fait, il te suffit d'utiliser un autre driver DBI que le driver CSV.
C'est pas ce qui manque: http://search.cpan.org/search?quer [...] ode=module
A+,
Marsh Posté le 16-06-2009 à 09:57:07
j'arrive pas à visualiser ou trouver une synthaxe qui se connecte à une base oracle
<param name="datasource" value="DBI:DBD::ORACLE .??
Marsh Posté le 16-06-2009 à 14:49:06
http://oreilly.com/catalog/perldbi/chapter/ch04.html
A+,
Marsh Posté le 16-06-2009 à 16:31:10
merci si pour ton lien
se connecter a une base en dbi je sais faire,
ce que je ne sais pas, c'est la synthaxe avec log4perl
Marsh Posté le 17-06-2009 à 00:00:37
Certes, mais la page en question fournissait ce script, qui aurait du te permettre de trouver la syntaxe correcte pour ta datasource, puisque c'est ce qui semble être ton problème.
Code :
|
A+,
Marsh Posté le 25-01-2010 à 09:59:18
de retour,enfin libre
par contre je n'ai toujours pas avançer sur ce chantier.
est-ce que quelqu un pourrait m'aider
a configurer le fichier log4perl pour que je puisse logger certains message dans une base de donnée
Marsh Posté le 25-01-2010 à 12:48:09
Ben avec le script que je t'ai donné, tu arrives a trouver la bonne datasource?
A+,
Marsh Posté le 25-01-2010 à 13:48:38
je sais pas si tu vois comment est le fichier log4perl.xml
mais je vois pas comment integrer le code que tu ma donnée dedans.
faire une connexion a une base, inserer , recuperer je sais faire.
mais si dans chaque script je dois faire une connexion a la base pour inserrer des donnée dedans, le log4perl me sert a rien.
pour logger mes message je fais un $prod_loger...
et je met le message de $err_log->fatal et sa me le met dans un fichier de log defini dans le log4perl.
moi ce que je souhaiterai savoir , c'est existent il une solution fourni pas log4perl pour logger dans une base et non un fichier
Marsh Posté le 25-01-2010 à 16:15:15
donny3 a écrit : je sais pas si tu vois comment est le fichier log4perl.xml |
Ben quelque part, il faut au moins que tu fasse
Log::Log4perl->init("log4perl.conf" );
pour démarrer Log4perl
Ensuite, dans tes scripts, il faut que tu fasses
my $food_logger = get_logger("xxxx" );
pour créer un logger
et tu traces ce dont tu as besoin
si ton log4perl.conf est bien fait, avec un appender de type DB (ou DBI, je sais plus) bien paramétré, tu devrais logger dans la BDD sans avoir a faire une connexion pour chaque script.
Citation : je sais pas si tu vois comment est le fichier log4perl.xml |
Bon évidement, tout ça est en perl pur, a toi de transposer dans ce que tu fais (du CGI?) parce que la, c'est plus du perl, mais un trux xml-ifié.
A+,
Marsh Posté le 25-01-2010 à 16:49:01
c'est du perl pure
sauf que mon fichier log4perl est un log4perl.xml
c est bien cela je dois rajouter un appender de type base de donnée
comme sa je loggerai dans la base et dans le fichier log.
Marsh Posté le 25-01-2010 à 19:58:19
Citation : sauf que mon fichier log4perl est un log4perl.xml |
C'est le fichier de configuration.
C'est ce que je ne pige pas: si tu fais du perl pur, pourquoi avoir un tel fichier en xml; il y a une raison précise?
Parce que passer par un log4perl.conf ecrit comme un fichier texte semblerait plus simple (et est bien mieux documenté)
Et tu l'appeles bien a travers un Log::Log4perl->init("log4perl.xml" );?
La doc du fichier xml devrait être explicitée dans la documentation du module Log::Log4perl::Config::DOMConfigurator, mais ce n'est pas un truc dont je me sois servi.
A+,
Marsh Posté le 28-04-2010 à 14:57:43
je viens de trouver cette doc
http://log4perl.sourceforge.net/re [...] rator.html
j'ai essayé ce qu'il proposait,
<param name="datasource" value="DBI:CSV:f_dir=t/tmp"/>
par contre je ne pije pas trop à quelle base il se connecte et donc quand je le lance,
rien ne se passe,
du coup j'ai modifier le datasource comme ceci , afin de pouvoir lui preciser la base que je souhaite utiliser
<param name="datasource" value="DBI:Oracle:RPBASE_TEST"/>
et il ne se passe toujours rien,
je ne comprend pas
Marsh Posté le 28-04-2010 à 20:45:54
On se demande vraiment pourquoi je t'ai posté un script perl qui énumère les data sources telles que connues par ton système.
A+,
Marsh Posté le 29-04-2010 à 08:20:52
Gilou merci pour ton script
mais il ne s'applique pas à mon cas
j'utilise log4perl.xml
Marsh Posté le 29-04-2010 à 12:04:45
Ce qui ne change rien a l'histoire:
Il faut bien que tu vérifies si la manière dont tu nommes ta source est celle connue par le système, et le script est la pour cela.
D'autre part, comme je te l'avais indiqué (a se demander si tu lis mes réponses) log4perl.xml est un fichier de configuration. Mais tu n'as pas indiqué, alors que je te le demandais, de quelle manière tu mets en jeu log4perl afin qu'il utilise ce fichier de config.
A+,
Marsh Posté le 29-05-2009 à 08:04:44
Bonjour,
Avec log4perl, il est possible d'avoir une log de nos traitement,dans un fichier de log.
Mais est-ce possible avec log4perl, de logger directement dans une base de donnée ?
Merci.