- C3d aggiornamento librerie ( 118044).
This commit is contained in:
SaraP
2025-08-28 14:47:28 +02:00
parent daccdfc398
commit f05795ffff
53 changed files with 1756 additions and 520 deletions
+13 -38
View File
@@ -54,8 +54,8 @@ namespace c3d //namespace c3d
// ---
//------------------------------------------------------------------------------
// \ru Класс позволяет форматировать строку для лога и добавлять ее в лог.
// \en Class allows to format a line to the log and put it to the log.
// \ru Класс для форматирования строки для лога и добавления ее в лог.
// \en Class for formatting a line to the log and writing it to the log.
// ---
class MATH_CLASS Logger
{
@@ -108,7 +108,7 @@ public:
//------------------------------------------------------------------------------
/** \brief \ru Переключатель логирования в области видимости.
\en Logging switch in a scope. \~
\details \ru Вспомогательный класс для логирования в области видимости.
\details \ru Класс для логирования в области видимости.
В конструкторе логирование включается, в деструкторе - отключается.
Если в конструкторе было указано имя файла, то перед отключением логирования
деструктор записывает накопленный лог в файл.
@@ -146,14 +146,11 @@ public:
// ---
class MATH_CLASS LogHelper
{
#ifdef C3D_DEBUG
bool _enabled;
c3d::string_t _file;
#endif
public:
#ifdef C3D_DEBUG
// \ru Параметр enable определяет, стартовать ли логирование.
// \en The enable parameter defines whether to start logging.
LogHelper( bool enable = true, const TCHAR* file = nullptr );
@@ -161,33 +158,33 @@ public:
// \ru Если в конструкторе было указано имя файла, то деструктор записывает накопленный лог в файл.
// \en If a file name was defined in the contructor, the destructor writes the collected log to the file. \~
~LogHelper();
#else
LogHelper( bool, const TCHAR * ) {}
~LogHelper() {}
#endif
private:
void Init( bool enable, const TCHAR * file );
void Reset();
};
#ifdef C3D_DEBUG
//------------------------------------------------------------------------------
// \ru Функции логирования. \en Logging functions.
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
/** \brief \ru Установить директорию для логов. \en Set log directory. \~
\details \ru По умолчанию лог-файлы сохраняются в директорию, установленную переменной LOG_PATH.
\details \ru По умолчанию лог-файлы сохраняются в директорию %USERPROFILE%/Logs.
Функция позволяет изменить директорию для логов.
\en By default log-files are saved to the directory< defined by LOG_PATH variable.
\en By default log-files are saved to the directory %USERPROFILE%/Logs.
The function allows changing the directory for logs. \~
\param dirPath - \ru Полный путь к директории. \en Full path to log directory.
\return \ru true, если директория создана. \en true if directory is created.
\ingroup Base_Tools
*/
// ---
MATH_FUNC(void) SetLogDir( const TCHAR * name );
MATH_FUNC(bool) SetLogDir( const TCHAR * dirPath );
//------------------------------------------------------------------------------
/** \brief \ru Начать или закончить логирование. \en Start or stop logging. \~
\details \ru Начать или закончить логирование. \en Start or stop logging. \~
\param enable - \ru Полный путь к директории. \en Whether.
\ingroup Base_Tools
*/
// ---
@@ -238,7 +235,7 @@ inline std::string __location() {
#endif
// \ru Начать логирование. \en Start logging.
#define START_LOGGING c3d::SetLogging( true );
#define START_LOGGING(var) c3d::SetLogging( var );
// \ru Закончить логирование. \en Stop logging.
#define END_LOGGING c3d::SetLogging( false );
// \ru Записать лог в файл. Лог для каждого потока записывается в отдельный файл.
@@ -252,28 +249,6 @@ inline std::string __location() {
// \ru Положить в лог форматированную строку с типом сообщения и указанием места. \en Put a formatted string with the message type and the place to the log.
#define LOG_MSG_PLACE_TYPE(msg,type) c3d::Logger::Get() << __LOCATION__ << type << msg << Logger::Endl;
#else
//------------------------------------------------------------------------------
// \ru Логирование работает только в Debug. \en Logging works in Debug Only.
//------------------------------------------------------------------------------
inline void CALL_DECLARATION SetLogDir( const TCHAR * ) {}
inline void CALL_DECLARATION SetLogging( bool ){}
inline void CALL_DECLARATION WriteLog( const TCHAR * ){}
inline void CALL_DECLARATION LogMessage( const c3d::string_t & ){}
inline void CALL_DECLARATION LogMessage( const c3d::string_t &, Logger::MsgType ){}
#define __LOCATION__ ""
#define START_LOGGING c3d::SetLogging( true );
#define END_LOGGING c3d::SetLogging( false );
#define WRITE_LOG_FILE(fileName) c3d::WriteLog( fileName );
#define LOG_MSG(msg) c3d::LogMessage( msg );
#define LOG_MSG_PLACE(msg) LOG_MSG(msg)
#define LOG_MSG_PLACE_TYPE(msg,type) LOG_MSG(msg)
#endif
//------------------------------------------------------------------------------
/** \brief \ru Включить контроль утечек памяти.
\en Enable memory leakage control. \~