IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

Log4j + MySQL


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2006
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 61
    Par défaut Log4j + MySQL
    Bonjour, je cherche à ajouter la fonction de log à mon application, j'ai crée une table dans ma base de données (LOGS) et j'essaye d'insérer les messages d'erreur et les traitements effectué par un utilisateur, j'ai suivi un tuto et j'ai fait ça:
    Le fichier log4j properties
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    # Define the root logger with appender file
    log4j.rootLogger = DEBUG, DB
     
    # Define the DB appender
    log4j.appender.DB=org.apache.log4j.jdbc.JDBCAppender
     
    # Set JDBC URL
    log4j.appender.DB.URL=jdbc:mysql://localhost/DBNAME
     
    # Set Database Driver
    log4j.appender.DB.driver=com.mysql.jdbc.Driver
     
    # Set database user name and password
    log4j.appender.DB.user=user_name
    log4j.appender.DB.password=password
     
    # Set the SQL statement to be executed.
    log4j.appender.DB.sql=INSERT INTO LOGS 
                          VALUES('%x','%d','%C','%p','%m')
     
    # Define the layout for file appender
    log4j.appender.DB.layout=org.apache.log4j.PatternLayout
    et dans ma classe de test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    import org.apache.log4j.Logger;
    import java.sql.*;
    import java.io.*;
    import java.util.*;
     
    public class log4jExample{
      /* Get actual class name to be printed on */
      static Logger log = Logger.getLogger(
                          log4jExample.class.getName());
     
      public static void main(String[] args)
                    throws IOException,SQLException{
     
         log.debug("Debug");
         log.info("Info");
      }
    }
    ceci marche et m'insère deux lignes dans ma table, mais je cherche à faire dex choses:
    1) Modifier le fichier properties de telle façon à ce que le nom de la base de données et le mot de passe soit lus à partir de mon fichier config.xml
    2) Ajouter des champs à insérer dans le message de log.

    MERCI pour AIDE

  2. #2
    Membre émérite Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 037
    Par défaut
    Bonjour


    Tu peux utiliser de manière détourner la contextualisation de log4j (MDC).
    pour cela il faut que tu regardes la doc log4j

    http://logging.apache.org/log4j/1.2/...log4j/MDC.html

    et que tu changes le format de ton fichier log4j.properties en log4j.xml

    voici un autre lien qui explique bien

    http://blog.xebia.fr/2007/03/05/jot-premiere-partie-
    contextualisation-des-logs-avec-log4j/


    Pour faire court :

    Dans une classe qui peut te servir de point d'entrée à ton application tu fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MDC.put("BDD_NAME",nomBDD)
    et dans ton log4j.xml tu fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    %d{ISO8601} [%t] %-5p %c %X{BDD_NAME} - %m\n
    pour le second point je n'ai pas d'idée

Discussions similaires

  1. [Kylix] Kylix attaque Mysql ?
    Par nahmsath dans le forum EDI
    Réponses: 9
    Dernier message: 12/08/2002, 19h37
  2. [Kylix] [cgi] pb déploiement appli avec connexion MySQL [rés
    Par Nepomiachty Olivier dans le forum EDI
    Réponses: 3
    Dernier message: 06/08/2002, 20h09
  3. Probleme C++Builder et Mysql
    Par noname dans le forum C++Builder
    Réponses: 3
    Dernier message: 20/06/2002, 13h40
  4. connection a une BDD MySql
    Par delire8 dans le forum MFC
    Réponses: 7
    Dernier message: 19/06/2002, 18h18
  5. [Kylix] Pb connection à Mysql
    Par Anonymous dans le forum EDI
    Réponses: 3
    Dernier message: 25/04/2002, 15h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo