diff options
author | David Crocker <dcrocker@eschertech.com> | 2022-03-12 00:53:47 +0300 |
---|---|---|
committer | David Crocker <dcrocker@eschertech.com> | 2022-03-12 00:53:47 +0300 |
commit | a41de3b73d0bfdf13c332d2425870b7bf6de84da (patch) | |
tree | e5f305bda5a636ef6a420f428010c29fa548d261 /src/Platform/Logger.cpp | |
parent | 50d3f4727f7e09a649d8b757f2ebe69a6190cecf (diff) |
Aded error message if M929 fails to create the log file
Diffstat (limited to 'src/Platform/Logger.cpp')
-rw-r--r-- | src/Platform/Logger.cpp | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/src/Platform/Logger.cpp b/src/Platform/Logger.cpp index 937132e2..05dafaca 100644 --- a/src/Platform/Logger.cpp +++ b/src/Platform/Logger.cpp @@ -29,25 +29,29 @@ Logger::Logger(LogLevel logLvl) noexcept : logFile(), lastFlushTime(0), lastFlus { } -void Logger::Start(time_t time, const StringRef& filename) noexcept +GCodeResult Logger::Start(time_t time, const StringRef& filename, const StringRef& reply) noexcept { if (!inLogger && logLevel > LogLevel::off) { Lock loggerLock(inLogger); FileStore * const f = reprap.GetPlatform().OpenSysFile(filename.c_str(), OpenMode::append); - if (f != nullptr) + if (f == nullptr) { - logFile.Set(f); - lastFlushFileSize = logFile.Length(); - logFile.Seek(lastFlushFileSize); - logFileName.copy(filename.c_str()); - String<StringLength50> startMessage; - startMessage.printf("Event logging started at level %s\n", logLevel.ToString()); - InternalLogMessage(time, startMessage.c_str(), MessageLogLevel::info); - LogFirmwareInfo(time); - reprap.StateUpdated(); + reply.printf("Unable to create or open file %s", filename.c_str()); + return GCodeResult::error; } + + logFile.Set(f); + lastFlushFileSize = logFile.Length(); + logFile.Seek(lastFlushFileSize); + logFileName.copy(filename.c_str()); + String<StringLength50> startMessage; + startMessage.printf("Event logging started at level %s\n", logLevel.ToString()); + InternalLogMessage(time, startMessage.c_str(), MessageLogLevel::info); + LogFirmwareInfo(time); + reprap.StateUpdated(); } + return GCodeResult::ok; } // TODO: Move this to a more sensible location ? |