From 3c7253d6cdc23aac36208fa87dc6571c7cb7c5ff Mon Sep 17 00:00:00 2001 From: Dark1-dev Date: Wed, 1 Mar 2023 21:33:55 +0600 Subject: Add files via upload --- Logger/cyclelogfile.cpp | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 Logger/cyclelogfile.cpp (limited to 'Logger/cyclelogfile.cpp') diff --git a/Logger/cyclelogfile.cpp b/Logger/cyclelogfile.cpp new file mode 100644 index 0000000..cb0266e --- /dev/null +++ b/Logger/cyclelogfile.cpp @@ -0,0 +1,48 @@ +#include "logger.h" + +// if "now" matches the previous logfile name, no cycling needed. otherwise, determine new logfile name. +bool Logger::cycleLogFile() +{ + // calculate the expected log filename + QString newFilename = _logLabel; + + // get date to see if we need to cycle + QDate date(QDate::currentDate()); + + // when is it necessary to cycle? + switch ( _cyclePeriod ) + { + case 1: // yearly + newFilename += date.toString("-yyyy"); + break; + case 2: // monthly + newFilename += date.toString("-yyyy-MM"); + break; + case 3: // weekly + newFilename += date.toString("-yyyy") + "-week" + QString("%1").arg(date.weekNumber(), 2, 10, QChar('0')); + break; + case 4: // daily + newFilename += date.toString("-yyyy-MM-dd"); + break; + default:; // 0 = never + } + + // add log file extension + newFilename += ".log"; + + // if current and new filename are not the same, cycle log file + if (_logFileName != newFilename) + { + // cycle log file + _logFileName = newFilename; + + // close the existing/opened log file + closeLogFile(); + + // open the new log file (pass possible error to caller) + return openLogFile(); + } + + // else: no cycling necessary + return true; +} -- cgit v1.2.3