20 string_view svFileName) noexcept
22 string sLogFile = svFileName;
23 if (eLogFilePolicy == log_file_policy::time_name)
28 size_t nInsetPos = sLogFile.
rfind(QXT(
".log"));
29 if (nInsetPos == string::npos)
30 nInsetPos = sLogFile.size();
32 sLogFile.
insert(nInsetPos, QXT(
'_'));
33 sLogFile.
insert(nInsetPos + 1, sTime);
36 std::filesystem::path path(sLogFile.
c_str());
37 if (path.has_parent_path() && !std::filesystem::exists(path.parent_path()))
39 if (!std::filesystem::create_directory(path.parent_path()))
42 return std::filesystem::path();
static std::filesystem::path create_folder_and_get_log_file_path(log_file_policy eLogFilePolicy, string_view svFileName) noexcept
Create a folder (if required) and get log file path.
base_file_logger_stream(const config &streamConfig) noexcept
file_logger_stream object constructor
Base class for logger streams.
size_type rfind(value_type chSymbol, size_type nBegin=npos, size_type nEnd=0) const noexcept
Find substring (reverse direction)
size_type insert(size_type nPos, value_type chSymbol) noexcept
Insert substring.
const_pointer c_str() const noexcept
Get pointer to string zero terminated.
void append_time_string(out_it_t it, char_type chDateDelimiter, char_type chTimeDelimiter) noexcept
Format time string to the buffer.