1

I want to get current file name, but I don't know how to get it.

For example: In config.properties file:

log4cplus.rootLogger=TRACE, OTS_H, OTS_D

log4cplus.appender.OTS_H=log4cplus::TimeBasedRollingFileAppender
log4cplus.appender.OTS_H.MaxHistory=10
log4cplus.appender.OTS_H.FilenamePattern=%d{yyyy-MM-dd-HH-mm}_OTS.csv
log4cplus.appender.OTS_H.layout=log4cplus::PatternLayout  
log4cplus.appender.OTS_H.layout.ConversionPattern=%m%n
log4cplus.appender.OTS_H.filters.1=log4cplus::spi::StringMatchFilter
log4cplus.appender.OTS_H.filters.1.StringToMatch=OK
log4cplus.appender.OTS_H.filters.1.AcceptOnMatch=true
log4cplus.appender.OTS_H.filters.2=log4cplus::spi::DenyAllFilter
log4cplus.appender.OTS_H.RollOnClose=false
log4cplus.appender.OTS_H.Schedule=DAILY
log4cplus.appender.OTS_H.CreateDirs=true

log4cplus.appender.OTS_D=log4cplus::TimeBasedRollingFileAppender
log4cplus.appender.OTS_D.MaxHistory=10
log4cplus.appender.OTS_D.FilenamePattern=%d{yyyy-MM-dd}_OTS.csv
log4cplus.appender.OTS_D.layout=log4cplus::PatternLayout  
log4cplus.appender.OTS_D.layout.ConversionPattern=%m%n
log4cplus.appender.OTS_D.filters.1=log4cplus::spi::LogLevelRangeFilter
log4cplus.appender.OTS_D.filters.1.LogLevelMin=ERROR
log4cplus.appender.OTS_D.filters.1.LogLevelMax=ERROR
log4cplus.appender.OTS_D.filters.1.AcceptOnMatch=true
log4cplus.appender.OTS_D.filters.2=log4cplus::spi::DenyAllFilter
log4cplus.appender.OTS_D.RollOnClose=false
log4cplus.appender.OTS_D.Schedule=HOURLY

And in my main.cpp

ConfigureAndWatchThread configureThread("config.properties", 10000);
Logger logger = Logger::getRoot();

int main(){

    // do something...
}

If use a function get now date from log4cplus and "2016-04-13-12-30_OTS.csv" and "2016-04-13_OTS.csv" filename, how to write the function/coding?

Could you help me to it, please?

1 Answers1

0

log4cplus has FileAppnder::getName() function. To get to the appender, use Logger::getAppender().

However, why do you need to do this at all?

UPDATE

I was wrong. getName() does not get you the file name.

I guess the only alternative for you is to derive your own appender from FileAppender and add the necessary function, or patch your sources of log4cplus to add such function.

wilx
  • 17,697
  • 6
  • 59
  • 114