diff --git a/inc/Logger.hpp b/inc/Logger.hpp
index 1fce8729d8aa83757680b014f74d62765189c8b6..f4b6bdd85bee0f8c5c54a1bc55d3fd398f315599 100644
--- a/inc/Logger.hpp
+++ b/inc/Logger.hpp
@@ -58,6 +58,7 @@ public:
 	 * Each severity is tied to a number. The higher the number, the higher the severity.
 	 */
 	enum LogLevel : LogLevelType {
+		disabled = 0, ///< Use this log level to disable logging entirely. No message should be logged as disabled.
 		trace = 32, ///< Very detailed information, useful for tracking the individual steps of an operation
 		debug = 64, ///< General debugging information
 		info = 96, ///< Noteworthy or periodical events
@@ -65,7 +66,6 @@ public:
 		warning = 160, ///< Unexpected events that do not compromise the operability of a function
 		error = 192, ///< Unexpected failure of an operation
 		emergency = 254, ///< Unexpected failure that renders the entire system unusable
-		disabled = 255, ///< Use this log level to disable logging entirely. No message should be logged as disabled.
 	};
 
 	/**
@@ -110,13 +110,13 @@ public:
 		 * @return The current Logger::LogEntry where the value has been appended
 		 */
 		template <class T>
-		Logger::LogEntry& operator<<(const T value) {
+		Logger::LogEntry& operator<<(const T value) noexcept {
 			etl::to_string(value, message, format, true);
 
 			return *this;
 		}
 
-		Logger::LogEntry& operator<<(const std::string& value);
+		Logger::LogEntry& operator<<(const std::string& value) noexcept;
 	};
 
 	/**
diff --git a/src/Logger.cpp b/src/Logger.cpp
index a6ca19f81ca2807fa60c0d997cc974cb8eac9b4c..64bb617f0f7f873360cd101be0d5c4d763fa0009 100644
--- a/src/Logger.cpp
+++ b/src/Logger.cpp
@@ -2,14 +2,14 @@
 
 // Reimplementation of the function for variable C strings
 template <>
-Logger::LogEntry& Logger::LogEntry::operator<<(char* value) {
+Logger::LogEntry& Logger::LogEntry::operator<<(char* value) noexcept {
 	message.append(value);
 	return *this;
 }
 
 // Reimplementation of the function for C strings
 template <>
-Logger::LogEntry& Logger::LogEntry::operator<<(const char* value) {
+Logger::LogEntry& Logger::LogEntry::operator<<(const char* value) noexcept {
 	message.append(value);
 	return *this;
 }
diff --git a/src/Platform/x86/Logger.cpp b/src/Platform/x86/Logger.cpp
index 7848d22695bfe5149a2762eef313e76a46849782..5f6c839f13879b8985358da7b402a939f4558e51 100644
--- a/src/Platform/x86/Logger.cpp
+++ b/src/Platform/x86/Logger.cpp
@@ -61,7 +61,7 @@ void Logger::log(Logger::LogLevel level, String<LOGGER_MAX_MESSAGE_SIZE> & messa
 
 // Reimplementation of the log function for C++ strings
 // This is kept in the Platform files, since we don't want to mess with std::strings in the microcontroller
-Logger::LogEntry& Logger::LogEntry::operator<<(const std::string & value) {
+Logger::LogEntry& Logger::LogEntry::operator<<(const std::string & value) noexcept {
 	message.append(value.c_str());
 
 	return *this;