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 :
Mon fichier de prop :
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&) { return EXIT_FAILURE; } return EXIT_SUCCESS; }
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 ^^
Partager