Bonjour à tous,
j'aimerais à partir du framework log4cxx et d'un fichier de propriétés écrire les logs dans un fichier externe.

Mais j'ai l'erreur suivante que je n'arrive pas à résoudre :
"log4cxx: Could not read configuration file [log4j.properties].
log4cxx: No appender could be found for logger (main).
log4cxx: Please initialize the log4cxx system properly."

Voici mon code :

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
 
#include <iostream>
 
// include log4cxx header files
#include "log4cxx/logger.h"
#include "log4cxx/basicconfigurator.h"
#include "log4cxx/propertyconfigurator.h"
#include "log4cxx/helpers/exception.h"
 
 
// namespaces 
using namespace log4cxx;
using namespace log4cxx::helpers;
 
// On définit les variables  de LOGGER
LoggerPtr loggerMain(Logger::getLogger("main"));
 
int main(int argc, const char * argv[])
{
    try {
            log4cxx::File file("log4.properties");
            // charge le fichier de configuration
            PropertyConfigurator::configure(file);
            LOG4CXX_TRACE(loggerMain, "Message de Debug qui trace le code");
            LOG4CXX_DEBUG(loggerMain, "Message de Debug.");
            LOG4CXX_INFO (loggerMain, "Message qui est cense vous informer");
            LOG4CXX_WARN (loggerMain, "Message d'avertissement.");
            LOG4CXX_ERROR(loggerMain, "Message d'erreur !");
            LOG4CXX_FATAL(loggerMain, "Message d'erreur fatale!");
        } catch(Exception&amp)
            {
                return EXIT_FAILURE;
            }
 
            return EXIT_SUCCESS;
}
Mon fichier de prop :

log4j.rootLogger=debug, stdout, R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern pour sortir le nom du fichier appelant
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=example.log
log4j.appender.R.MaxFileSize=4MB
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n

mon fichier de propriétés est dans le même dossier que mon fichier main

Merci pour vos réponses ^^