Skip to content

Commit 44273fc

Browse files
fix: do not remove log file when logging disabled
- initialization of FileLogger always removed log file - this change only removes old file when logging is enabled in current run Resolves: NEO-7199 Signed-off-by: Mateusz Hoppe <[email protected]>
1 parent cdd91d6 commit 44273fc

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

shared/source/utilities/logger.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,9 @@ FileLogger<globalDebugFunctionalityLevel> &fileLoggerInstance() {
2525
template <DebugFunctionalityLevel DebugLevel>
2626
FileLogger<DebugLevel>::FileLogger(std::string filename, const DebugVariables &flags) {
2727
logFileName = std::move(filename);
28-
std::remove(logFileName.c_str());
28+
if (enabled()) {
29+
std::remove(logFileName.c_str());
30+
}
2931

3032
dumpKernels = flags.DumpKernels.get();
3133
logApiCalls = flags.LogApiCalls.get();

shared/test/unit_test/utilities/logger_tests.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,20 @@ TEST(FileLogger, GivenSameFileNameWhenCreatingNewInstanceThenOldFileIsRemoved) {
126126
EXPECT_FALSE(fileExists(fileLogger.getLogFileName()));
127127
}
128128

129+
TEST(FileLogger, GivenSameFileNameWhenCreatingNewFullyDisabledLoggerThenOldFileIsNotRemoved) {
130+
std::string testFile = "testfile";
131+
DebugVariables flags;
132+
flags.LogApiCalls.set(true);
133+
FullyEnabledFileLogger fileLogger(testFile, flags);
134+
fileLogger.useRealFiles(true);
135+
fileLogger.writeToFile(fileLogger.getLogFileName(), "test", 4, std::fstream::out);
136+
137+
EXPECT_TRUE(fileExists(fileLogger.getLogFileName()));
138+
FullyDisabledFileLogger fileLogger2(testFile, flags);
139+
EXPECT_TRUE(fileExists(fileLogger.getLogFileName()));
140+
std::remove(fileLogger.getLogFileName());
141+
}
142+
129143
TEST(FileLogger, GivenFlagIsFalseWhenLoggingThenOnlyCustomLogsAreDumped) {
130144
std::string testFile = "testfile";
131145
DebugVariables flags;

0 commit comments

Comments
 (0)