티스토리 뷰

반응형

m_LogDeleteTime = GetTickCount();
m_LogMinute = 0;

void LogDeleteMonth()
{
    if(CheckTimeOver(60000, m_LogDeleteTime))   {
        m_LogDeleteTime = GetTickCount();
        m_LogMinute ++; // 1분을 기억
    }

    // 60분 * 24시간 = 1440분
    // 하루에 한번씩 로그 삭제
    if(m_LogMinute >= 1440) {
        QDateTime Now = QDateTime::currentDateTime();
        QDateTime Before = Now.addDays(-30); // 한달전 날짜 구하기
        QDirIterator FileList("/폴더 경로/", QDir::Files);
        char BeforeLogName[50];

        memset(BeforeLogName, 0, sizeof(BeforeLogName));
        sprintf(BeforeLogName, "/폴더 경로/%-6.6s.log", Before.toString("yyMMdd").toStdString().c_str());
        g_Log.LogWrite((char *)"BeforeOneMonth : %s", BeforeLogName);

        while(FileList.hasNext())   {
            QString FileName = FileList.next();

            // 한달 전 로그파일 이름이 보다 작은 파일들은 삭제한다.
            if(strcmp(BeforeLogName, FileName.toStdString().c_str()) > 0) {
               QFile::remove(FileName);
               g_Log.LogQString(FileName + " Delete.");
            }
        }

        m_LogMinute = 0; // 초기화
    }
}

 

반응형

'프로그래밍 > Qt' 카테고리의 다른 글

버튼 롤오버기능 + png  (0) 2019.06.11
투명 버튼  (0) 2019.06.11
리눅스 Qt에서 utf-8 -> eucKR 변환  (0) 2019.06.11
QSerialPort  (0) 2019.06.11
QTcpSocket isConnected  (0) 2019.06.11
댓글
반응형
최근에 올라온 글
Total
Today
Yesterday