Visual c++ 如何在VC++;

Visual c++ 如何在VC++;,visual-c++,log4cplus,Visual C++,Log4cplus,我想获取当前文件名,但不知道如何获取 例如: 在config.properties文件中: 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-

我想获取当前文件名,但不知道如何获取

例如: 在config.properties文件中:

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
在我的main.cpp中

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

int main(){

    // do something...
}
如果使用从log4cplus和“2016-04-13-12-30_OTS.csv”以及“2016-04-13_OTS.csv”文件名获取当前日期的函数,如何编写函数/编码

你能帮我弄一下吗?

log4cplus有功能。要访问appender,请使用


然而,你为什么要这么做呢

更新

我错了
getName()
无法获取文件名

我想您唯一的选择是从
FileAppender
派生您自己的appender并添加必要的函数,或者修补您的log4cplus源以添加此类函数。

log4cplus具有函数。要访问appender,请使用


然而,你为什么要这么做呢

更新

我错了
getName()
无法获取文件名


我猜您唯一的选择是从
FileAppender
派生您自己的appender并添加必要的函数,或者修补您的log4cplus源以添加此类函数。

但是,为什么您需要这样做?->因为我想知道哪一个*.csv正在编辑.coutHi wilx,所以它只能通过FileAppnder::getName()函数获取“OTS_H”和“OTS_D”。但是,我想得到“2016-04-13-12-30_OTS.csv”。请问你有什么建议吗?谢谢你的帮助。还有。。。。如果我使用'TimeBasedRollingFileAppender',哪个函数可以从config.properties文件中知道'FilenamePattern'格式设置?但是,为什么需要这样做?->因为我想知道哪一个*.csv正在编辑.coutHi wilx,所以它只能通过FileAppnder::getName()函数获取“OTS_H”和“OTS_D”。但是,我想得到“2016-04-13-12-30_OTS.csv”。请问你有什么建议吗?谢谢你的帮助。还有。。。。如果我使用'TimeBasedRollingFileAppender',哪个函数可以从config.properties文件中知道'FilenamePattern'格式设置?