Настроить log4cplus для входа в пользовательский файл во время выполнения

Я использую файл конфигурации для инициализации модуля log4cplus. Мы используем команду ниже в файле конфигурации, чтобы указать имя файла журнала, который будет сгенерирован.

log4cplus.appender.log1.File = TestFile.log

Я хочу, чтобы этот TestFile.log создавался во время выполнения. Я использовал функцию setProperty, чтобы изменить имя файла журнала во время выполнения, но не получил желаемого результата.

В коде -

log4cplus:: helpers:: Свойства реквизита; props.setProperty (LOG4CPLUS_TEXT ("Файл"), LOG4CPLUS_TEXT("TestFile.log"));

В конфигурационном файле -

log4cplus.appender.afile2.File = $ {Файл}

Но при этом файл журнала будет сгенерирован как "${File}" вместо "TestFile.log".

1 ответ

Попробуйте следующую строку в вашей команде.

log4cplus::helpers::Properties props("TextConfiguration.txt");
    props.setProperty(LOG4CPLUS_TEXT("log4cplus.appender.afile2.File"), LOG4CPLUS_TEXT("TestFile.log"));
PropertyConfigurator conf(props);
conf.configure();

Нет необходимости менять в файле конфигурации.

Другие вопросы по тегам