1

私のプロジェクトにlog4cppを実装しています。プロジェクトに実装された Logger クラスを参照してください。doConfigure(initfile)ファイルで定義された関数でクラッシュしていPropertyConfiguratorImpl.cppます。より具体的には、log4cpp のファイルで_properties.load(in)呼び出す関数呼び出しで:Propertices.cpp

 void Properties::load(std::istream& in)//_Chcount=0 in the expression value
 {
    clear();

    std::string fullLine, command;
    std::string leftSide, rightSide;
    char line[256];
    std::string::size_type length;

    while (in.getline(line, 256)) {
        fullLine = line;
................
.................//Remaining code of the function
..................
}

以下は私のロガークラスです。私のプロジェクトに実装されています

class MyLogger
{
public:
MyLogger(){}
virtual ~MyLogger() {
    log4cpp::Category::shutdown();
}
bool Init(){
    try{
        std::string initFileName = "log4cpp.property";
        if(exists(initFileName.c_str())){//the property file does exist
            log4cpp::PropertyConfigurator::configure(initFileName);
        }           
    }
    catch(log4cpp::ConfigureFailure& f){
        std::cout << "Configure Problem" << f.what() << std::endl;
        return false;
    }
    return true;
}
void LogDebug(std::string message){
    log4cpp::Category & myLogger = log4cpp::Category::getInstance("MyLogger");
    myLogger.debug(message);
}

void Loginfo(std::string message){
    log4cpp::Category & myLogger = log4cpp::Category::getInstance("MyLogger");
    myLogger.info(message);
}
};

これは私の log4cpp.property ファイルです:

log4cplus.logger.business=ALL,BUSINESS
log4cplus.additivity.business=false

log4cplus.appender.STDOUT=log4cplus::ConsoleAppender
log4cplus.appender.STDOUT.layout=log4cplus::PatternLayout
log4cplus.appender.STDOUT.layout.ConversionPattern=%-6p[%t][%D{%m/%d/%y %H:%M:%S %Q}]%m

log4cplus.appender.BUSINESS=log4cplus::RollingFileAppender
log4cplus.appender.BUSINESS.File=./all.log
log4cplus.appender.BUSINESS.MaxFileSize=5MB
log4cplus.appender.BUSINESS.MaxBackupIndex=5
log4cplus.appender.BUSINESS.layout=log4cplus::PatternLayout
log4cplus.appender.BUSINESS.layout.ConversionPattern=%-6p[%t] [%D{%m/%d/%y %H:%M:%S %Q}] %m

どんな助けでも大歓迎です。

4

0 に答える 0