diff options
Diffstat (limited to 'src/common/logging')
| -rw-r--r-- | src/common/logging/backend.cpp | 15 | ||||
| -rw-r--r-- | src/common/logging/log.h | 1 | 
2 files changed, 14 insertions, 2 deletions
diff --git a/src/common/logging/backend.cpp b/src/common/logging/backend.cpp index 90dfa22ca..631f64d05 100644 --- a/src/common/logging/backend.cpp +++ b/src/common/logging/backend.cpp @@ -23,6 +23,7 @@  #include "common/logging/text_formatter.h"  #include "common/string_util.h"  #include "common/threadsafe_queue.h" +#include "core/settings.h"  namespace Log { @@ -152,10 +153,19 @@ FileBackend::FileBackend(const std::string& filename)  void FileBackend::Write(const Entry& entry) {      // prevent logs from going over the maximum size (in case its spamming and the user doesn't      // know) -    constexpr std::size_t MAX_BYTES_WRITTEN = 50 * 1024L * 1024L; -    if (!file.IsOpen() || bytes_written > MAX_BYTES_WRITTEN) { +    constexpr std::size_t MAX_BYTES_WRITTEN = 100 * 1024 * 1024; +    constexpr std::size_t MAX_BYTES_WRITTEN_EXTENDED = 1024 * 1024 * 1024; + +    if (!file.IsOpen()) { +        return; +    } + +    if (Settings::values.extended_logging && bytes_written > MAX_BYTES_WRITTEN_EXTENDED) { +        return; +    } else if (!Settings::values.extended_logging && bytes_written > MAX_BYTES_WRITTEN) {          return;      } +      bytes_written += file.WriteString(FormatLogMessage(entry).append(1, '\n'));      if (entry.log_level >= Level::Error) {          file.Flush(); @@ -222,6 +232,7 @@ void DebuggerBackend::Write(const Entry& entry) {      SUB(Service, NPNS)                                                                             \      SUB(Service, NS)                                                                               \      SUB(Service, NVDRV)                                                                            \ +    SUB(Service, OLSC)                                                                             \      SUB(Service, PCIE)                                                                             \      SUB(Service, PCTL)                                                                             \      SUB(Service, PCV)                                                                              \ diff --git a/src/common/logging/log.h b/src/common/logging/log.h index 13a4f1e30..835894918 100644 --- a/src/common/logging/log.h +++ b/src/common/logging/log.h @@ -95,6 +95,7 @@ enum class Class : ClassType {      Service_NPNS,      ///< The NPNS service      Service_NS,        ///< The NS services      Service_NVDRV,     ///< The NVDRV (Nvidia driver) service +    Service_OLSC,      ///< The OLSC service      Service_PCIE,      ///< The PCIe service      Service_PCTL,      ///< The PCTL (Parental control) service      Service_PCV,       ///< The PCV service  | 
