topher:非常感谢,其实和我实际工作密切相关的是第一条和第三条
比如日志输出,我查了关于log4QT的很资料,发现功能不完善,不像log4j功能那么完善,
比如我需要每天输出一个文件,程序重启后,文件不会被重写,这些无法在配置文件中配置
大神有什么建议呢?

// 文件管理:只保留最近10天日志
void logFileManager() {
QString oldFile = Date::getBeforDays(10);
if (QFile::exists(oldFile)) {
QFile::remove(oldFile);
}
}
// 计算当前前面多少天的年月日
QString Date::getBeforDays(int nInterval)
{
int year = QDate::currentDate().year();
int month = QDate::currentDate().month();
int day = QDate::currentDate().day();
// 如果是本年1月前面几天,则退一年
if ((1 == month) && (day < nInterval)) {
year -= 1;
month = 12;
}
else if (day < nInterval) {
month--;
}
// 计算当月有多少天
int days = getMonthDays(year, month);
if (day < nInterval) {
day = days - (nInterval - day);
}
else {
day -= nInterval;
}
QString fileName = QString("%1/%2_Log_").arg(m_strLogPath).arg(m_strAppName);
fileName.append(QString("%1").arg(year, 2, 10, QChar('0')));
fileName.append(QString("%1").arg(month, 2, 10, QChar('0')));
fileName.append(QString("%1").arg(day, 2, 10, QChar('0')));
fileName.append(QString(".txt"));
return fileName;
}