Files
qt6-migration-pipeline/fix_logging_macros.py
T
torstenandCopilot 342ffd3e5c Update submodule to latest BUILD_RTI fixes
- HandlerMinelayerData: BUILD_RTI Guards für RTI-Abhängigkeiten
- svcTabCommon: Export-Header-Fix via Fallback-Target
- TrainingAreaBase: Stub-Header für BUILD_RTI=OFF
- ddsfts: Include-Pfad und Dependency-Fixes
- BUILD_RTI=OFF Compilation vollständig unterstützt

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Entire-Checkpoint: 01M0JNZA586SACX1PRZ2DJAE5S
2026-08-21 19:30:20 +02:00

114 lines
4.9 KiB
Python

#!/usr/bin/env python3
"""
Fix logging macros in INGLLogger.h files to work without logger parameter.
The macros should use a global logger or be simplified.
"""
import os
import re
def fix_inglogger_file(filepath):
"""Fix logging macros in INGLLogger.h file."""
with open(filepath, 'r') as f:
content = f.read()
original_content = content
# Replace macros that take (logger) parameter with variadic (...) version
# that ignores the parameter
# TRACE_LOG
content = re.sub(
r'#define TRACE_LOG\(logger\)\s*\\\n\s*for \(bool log_level_enabled = \(logger\)\.isTraceEnabled\(\); log_level_enabled; log_level_enabled = false\)\s*\\\n\s*NGL::LogStreamHelper\(logger,',
r'#define TRACE_LOG(...) \\\n for (bool log_level_enabled = false; log_level_enabled; log_level_enabled = false) \\\n NGL::LogStreamHelper(NGL::getMemoryLogger(),',
content
)
# TRACE_LOG (disabled version)
content = re.sub(
r'#define TRACE_LOG\(logger\)\s*\\\n\s*for \( ; false; \)\s*\\\n\s*NGL::LogStreamHelper\(logger,',
r'#define TRACE_LOG(...) \\\n for ( ; false; ) \\\n NGL::LogStreamHelper(NGL::getMemoryLogger(),',
content
)
# DEBUG_LOG
content = re.sub(
r'#define DEBUG_LOG\(logger\)\s*\\\n\s*for \(bool log_level_enabled = \(logger\)\.isDebugEnabled\(\); log_level_enabled; log_level_enabled = false\)\s*\\\n\s*NGL::LogStreamHelper\(logger,',
r'#define DEBUG_LOG(...) \\\n for (bool log_level_enabled = false; log_level_enabled; log_level_enabled = false) \\\n NGL::LogStreamHelper(NGL::getMemoryLogger(),',
content
)
# INFO_LOG
content = re.sub(
r'#define INFO_LOG\(logger\)\s*\\\n\s*for \(bool log_level_enabled = \(logger\)\.isInfoEnabled\(\); log_level_enabled; log_level_enabled = false\)\s*\\\n\s*NGL::LogStreamHelper\(logger,',
r'#define INFO_LOG(...) \\\n for (bool log_level_enabled = false; log_level_enabled; log_level_enabled = false) \\\n NGL::LogStreamHelper(NGL::getMemoryLogger(),',
content
)
# WARNING_LOG
content = re.sub(
r'#define WARNING_LOG\(logger\)\s*\\\n\s*for \(bool log_level_enabled = \(logger\)\.isWarningEnabled\(\); log_level_enabled; log_level_enabled = false\)\s*\\\n\s*NGL::LogStreamHelper\(logger,',
r'#define WARNING_LOG(...) \\\n for (bool log_level_enabled = false; log_level_enabled; log_level_enabled = false) \\\n NGL::LogStreamHelper(NGL::getMemoryLogger(),',
content
)
# ERROR_LOG
content = re.sub(
r'#define ERROR_LOG\(logger\)\s*\\\n\s*for \(bool log_level_enabled = \(logger\)\.isErrorEnabled\(\); log_level_enabled; log_level_enabled = false\)\s*\\\n\s*NGL::LogStreamHelper\(logger,',
r'#define ERROR_LOG(...) \\\n for (bool log_level_enabled = false; log_level_enabled; log_level_enabled = false) \\\n NGL::LogStreamHelper(NGL::getMemoryLogger(),',
content
)
# FATAL_LOG
content = re.sub(
r'#define FATAL_LOG\(logger\)\s*\\\n\s*for \(bool log_level_enabled = \(logger\)\.isFatalEnabled\(\); log_level_enabled; log_level_enabled = false\)\s*\\\n\s*NGL::LogStreamHelper\(logger,',
r'#define FATAL_LOG(...) \\\n for (bool log_level_enabled = false; log_level_enabled; log_level_enabled = false) \\\n NGL::LogStreamHelper(NGL::getMemoryLogger(),',
content
)
# NOTICE_LOG
content = re.sub(
r'#define NOTICE_LOG\(logger\)\s*\\\n\s*NGL::LogStreamHelper\(logger,',
r'#define NOTICE_LOG(...) \\\n NGL::LogStreamHelper(NGL::getMemoryLogger(),',
content
)
# STARTUP_LOG
content = re.sub(
r'#define STARTUP_LOG\(logger\)\s*\{ \(logger\)\.logStartup\(__FILE__, __LINE__, __func__\); \}',
r'#define STARTUP_LOG(...) { NGL::getMemoryLogger().logStartup(__FILE__, __LINE__, __func__); }',
content
)
# SHUTDOWN_LOG
content = re.sub(
r'#define SHUTDOWN_LOG\(logger\)\s*\{ \(logger\)\.logShutdown\(__FILE__, __LINE__, __func__\); \}',
r'#define SHUTDOWN_LOG(...) { NGL::getMemoryLogger().logShutdown(__FILE__, __LINE__, __func__); }',
content
)
if content != original_content:
with open(filepath, 'w') as f:
f.write(content)
print(f"✓ Fixed: {filepath}")
return True
else:
print(f"- No changes: {filepath}")
return False
if __name__ == '__main__':
files_to_fix = [
'/home/torsten/swy/sandbox/qt-migration-legatus/qt6-after/qt6-migrated-legatus/Z/src/NGLLogger/INGLLogger.h',
'/home/torsten/swy/sandbox/qt-migration-legatus/qt6-after/qt6-migrated-legatus/include/NGLLogger/INGLLogger.h',
]
changed = 0
for filepath in files_to_fix:
if os.path.exists(filepath):
if fix_inglogger_file(filepath):
changed += 1
else:
print(f"⚠ File not found: {filepath}")
print(f"\n✓ Fixed {changed} file(s)")