@@ -24,6 +24,7 @@ class ConsoleLogger : public dotnamecpp::logging::ILogger {
2424 std::mutex logMutex_;
2525 std::ofstream logFile_;
2626 bool addNewLine_ = true ;
27+ std::string appPrefix_;
2728
2829/* *
2930 * @brief Current logging level for the console logger defined at compile time.
@@ -47,7 +48,9 @@ class ConsoleLogger : public dotnamecpp::logging::ILogger {
4748 ConsoleLogger (const ConsoleLogger&) = delete ;
4849 ConsoleLogger& operator = (const ConsoleLogger&) = delete ;
4950 ConsoleLogger (ConsoleLogger&& other) noexcept : logFile_ (std::move (other.logFile_)),
50- addNewLine_ (other.addNewLine_) {
51+ addNewLine_ (other.addNewLine_),
52+ appPrefix_ (std::move (other.appPrefix_)),
53+ currentLevel_ (other.currentLevel_) {
5154 }
5255
5356 ConsoleLogger& operator = (ConsoleLogger&& other) noexcept {
@@ -59,6 +62,7 @@ class ConsoleLogger : public dotnamecpp::logging::ILogger {
5962
6063 logFile_ = std::move (other.logFile_ );
6164 addNewLine_ = other.addNewLine_ ;
65+ appPrefix_ = std::move (other.appPrefix_ );
6266 currentLevel_ = other.currentLevel_ ;
6367 }
6468 return *this ;
@@ -109,6 +113,9 @@ class ConsoleLogger : public dotnamecpp::logging::ILogger {
109113
110114 // Create log header
111115 std::ostringstream header;
116+ if (!appPrefix_.empty ()) {
117+ header << " [" << appPrefix_ << " ]" ;
118+ }
112119 header << " [" << std::put_time (&now_tm, " %Y-%m-%d %H:%M:%S" ) << " ]" ;
113120 header << " [" << levelToString (level) << " ]" ;
114121 if (!caller.empty ()) {
@@ -144,6 +151,16 @@ class ConsoleLogger : public dotnamecpp::logging::ILogger {
144151 return currentLevel_;
145152 };
146153
154+ void setAppPrefix (const std::string& prefix) override {
155+ std::lock_guard<std::mutex> lock (logMutex_);
156+ appPrefix_ = prefix;
157+ };
158+
159+ [[nodiscard]]
160+ std::string getAppPrefix () const override {
161+ return appPrefix_;
162+ };
163+
147164 bool enableFileLogging (const std::string& filename) override {
148165 std::lock_guard<std::mutex> lock (logMutex_);
149166 try {
@@ -391,7 +408,6 @@ class ConsoleLogger : public dotnamecpp::logging::ILogger {
391408 showHeaderCaller (incCaller);
392409 showHeaderLevel (incLevel);
393410 }
394-
395411}; // class ConsoleLogger
396412
397413#endif
0 commit comments