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

Logging Java Discussion :

comment ecrire dans le log file?


Sujet :

Logging Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 5
    Par défaut comment ecrire dans le log file?
    Bonjour,

    Voilà je boss sur une application et ma tâche est de créér un standalone(= classe main) qui va logger des messages dans un fichier avec différents paramètres.Mon problème est que j'ai écris la classe(pas complète encore) juste pour tester s'il écris bien dans le fichier ce qui n'est pas le cas.Je vous donne le morceau de code de ma classe main:

    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
       public static void main(String [] args){
     
            Logger logger = new Logger(CommandLineLogger.class);
     
            try {
     Logger.setCommonEventData(new CommonLogInfo("efef","psis","efe","fe"));
     
               // Initialise the logging system
     
      StandaloneInitialiser standaloneInitialiser = new StandaloneInitialiser();
                standaloneInitialiser.configureFromFile(    standaloneInitialiser.getConfigFileName());
                logger.debug("hello this is a simple test for debug");
                logger.debug("hello this is a simple test for debug");
                logger.debug("hello this is a simple test for debug");
                logger.debug("hello this is a simple test for debug");
         } catch (Exception e) {
                e.printStackTrace();
            }

    StandaloneInitialiser est une classe qui étend la classe abstraite "LoggerInitialiser" et donc qui redéfinit les méthodes dont
    "configureFromFile(String s)" qui prend en paramètre une String qui est en fait le nom du fichier Log4j.xml. Je sais pas si je dois faire un traitement particulier pour logger les infos dans le fichier.Le fichier Xml contient déjà une série de config.


    Voilà en espérant que l'on pourra m'aider....

    Merci d'avance

  2. #2
    Membre émérite Avatar de g_rare
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 608
    Par défaut
    C'est pas clair ton histoire !
    Tu ne sembles utiliser ni "Log4J" (que ce soit directement ou via "Commons Logging") ni même "java.util.logging" si je me réfère au :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Logger.setCommonEventData(new CommonLogInfo("efef","psis","efe","fe"));
    ...

    Pourquoi redéfinir en plus des classes spécifiques au log alors que Log4J (directement ou via Commons Logging) le fait déjà très bien ?


  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 5
    Par défaut comment logger des messages dans un fichier?
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
     
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
     
    <!--
     *
     * DevelopmentLog4j.xml
     *
     * This is a template file for developers.
     * Amend as necessary depending upon your own requirements.
     *
    -->
     
    <!--
     *
     * Configuration file for Log4J
     * @version   1.0
     * @author    
     *
    -->
    <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
     
        <renderer renderedClass="com.syntegra.nhs.nasp.rts.logging.LogEvent"
                  renderingClass="com.syntegra.nhs.nasp.rts.logging.LogEventRenderer"/>
     
        <!--
         *
         * Appender details
         * The threshold (if defined) within any appender will override the level
         * defined on the corresponding logger.
         *
        -->
     
        <appender name="ConsoleAppender" class="org.apache.log4j.ConsoleAppender">
            <param name="Threshold" value="debug"/>
            <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="%d|%p|%t|%c|%m%n"/>
            </layout>
        </appender>
     
        <appender name="NullAppender" class="org.apache.log4j.varia.NullAppender">
        </appender>
     
        <appender name="FileAppender" class="org.apache.log4j.FileAppender">
            <param name="Threshold" value="debug"/>
            <param name="File" value="test-output.log" />
            <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="%d|%p|%t|%c|%m%n"/>
            </layout>
        </appender>
     
        <!-- Appenders using the TMS logger -->
        <appender name="AuditAppender" class="org.apache.log4j.DailyRollingFileAppender">
            <!--
             *
             * Keep a daily log file, each one suffixed with the date,
             * files will be backed up at midnight every day.
             * e.g. audit.log.2004-02-29 will be created at midnight on the
             * 29 February, 2004 and on the 1st March, 2004 logging will be
             * logged to audit.log
            -->
            <param name="DatePattern" value="'.'yyyy-MM-dd" />
            <!-- Note: use forward slashes within paths -->
            <param name="File" value="audit.log" />
            <param name="Append" value="true" />
            <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="%d|%p|%t|%c|%m%n"/>
            </layout>
        </appender>
     
        <appender name="PerfAppender" class="org.apache.log4j.DailyRollingFileAppender">
            <!--
             *
             * Keep a daily log file, each one suffixed with the date,
             * files will be backed up at midnight every day.
             * e.g. performance.log.2004-02-29 will be created at midnight on the
             * 29 February, 2004 and on the 1st March, 2004 logging will be
             * logged to performance.log
            -->
            <param name="DatePattern" value="'.'yyyy-MM-dd" />
            <!-- Note: use forward slashes within paths -->
            <param name="File" value="performance.log" />
            <param name="Append" value="false" />
            <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="%d|%p|%t|%c|%m%n"/>
            </layout>
        </appender>
     
        <appender name="DiagAppender" class="org.apache.log4j.DailyRollingFileAppender">
            <!--
             *
             * Keep a daily log file, each one suffixed with the date,
             * files will be backed up at midnight every day.
             * e.g. diagnostic.log.2004-02-29 will be created at midnight on the
             * 29 February, 2004 and on the 1st March, 2004 logging will be
             * logged to diagnostic.log
            -->
            <param name="DatePattern" value="'.'yyyy-MM-dd" />
            <!-- Note: use forward slashes within paths -->
            <param name="File" value="diagnostic.log" />
            <param name="Append" value="true" />
            <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="%d|%p|%t|%c|%m%n"/>
            </layout>
        </appender>
     
        <!--
         *
         * Details of loggers ('Logger's replace - actually extend - 'Category's)
         * Note: Within loggers, 'level' is synonymous with 'priority'
         *
        -->
     
        <!-- Base logger for Audit events -->
        <logger name="AUDIT.com.logicacmg" additivity="false">
            <!-- The only available level for Audit events is AUDIT. -->
            <level value="audit" class="com.syntegra.nhs.nasp.rts.logging.AuditLevel"/>
            <appender-ref ref="AuditAppender"/>
        </logger>
     
        <!-- Base logger for Performance events -->
        <logger name="PERFORMANCE.com.logicacmg" additivity="false">
            <level value="perfMax" class="com.syntegra.nhs.nasp.rts.logging.PerformanceLevel"/>
            <appender-ref ref="PerfAppender"/>
        </logger>
     
        <!-- Base logger for Diagnostic events -->
        <logger name="DIAGNOSTIC.com.logicacmg" additivity="false">
            <level value="debug"/>
            <appender-ref ref="DiagAppender"/>
        </logger>
     
        <!--
         *
         * Details of default (Root) logger
         * Note: Would normally have a default level of 'debug'.
         *
        -->
        <root>
            <!--
             * Set default to OFF to suppress any logging outside our TMS
             * packages.
             * Our TMS specific packages will enable logging as appropriate.
            -->
            <level value="debug" />
            <appender-ref ref="FileAppender"/>
        </root>
     
        <!-- This is needed by Log4J as it will create logger instances internally. -->
        <categoryFactory class="com.syntegra.nhs.nasp.rts.logging.EventLoggerFactory"/>
     
    </log4j:configuration>
    voilà ci-dessus la copie du fichier log4jxml ke j'utilise.C'est un fichier qui est utilisé pour toute l'application.

    /**
    * The setMessageDetails method - Called to set the thread specific message
    * details for the CommonEventData object so that this can be used when the
    * error is logged. This is because CommonEventData is a required field for
    * all logging calls.
    *
    * @param commonLogInfo - the Common Event data to be stored on ThreadLocal.
    */
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Logger.setCommonEventData(new CommonLogInfo("efef","psis","efe","fe"));
    Si je redéfinis pas cette méthode il me donne une erreur.
    Actuellement il me créer les différents fichiers de log(AUDIT,DIAGNOSTIC...)
    mais n'y écris rien dedans.
    J'espère que mon problème est un peu plus clair.

    Merci bien en tous cas

  4. #4
    Membre expérimenté Avatar de erictoguem
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 150
    Par défaut
    je pense que tu te rendrais ton travail plus facile et même plus efficace si tu utilisait l'API Logging, voici un bon tutoriel pour l'utiliser : cyberzoide.developpez.com/java/logging/
    j'espère que ça t'aidera

Discussions similaires

  1. [C#] Comment écrire dans un fichier Excel ?
    Par FoxDeltaSierra dans le forum ASP.NET
    Réponses: 2
    Dernier message: 07/05/2006, 15h29
  2. [VB.Net] Comment ecrire dans un MemoryStream
    Par vijeo dans le forum Windows Forms
    Réponses: 8
    Dernier message: 28/04/2006, 14h28
  3. Réponses: 2
    Dernier message: 27/04/2006, 15h22
  4. [MySQL] Comment ecrire dans une BDD à partir d'un tableau ?
    Par weed dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 16/09/2005, 15h53

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