log4cxx fichier propriétés
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:
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;
} |
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 ^^