summaryrefslogtreecommitdiff
path: root/library/error_log.cpp
diff options
context:
space:
mode:
authorDaniel Wilhelm <daniel@wili.li>2014-04-18 17:08:06 +0200
committerDaniel Wilhelm <daniel@wili.li>2014-04-18 17:08:06 +0200
commitfbe76102e941b9f1edaf236788e42678f05fdf9a (patch)
treef5f538316019fa89be8dc478103490c3a826f3ac /library/error_log.cpp
parent3.8 (diff)
downloadFreeFileSync-fbe76102e941b9f1edaf236788e42678f05fdf9a.tar.gz
FreeFileSync-fbe76102e941b9f1edaf236788e42678f05fdf9a.tar.bz2
FreeFileSync-fbe76102e941b9f1edaf236788e42678f05fdf9a.zip
3.9
Diffstat (limited to 'library/error_log.cpp')
-rw-r--r--library/error_log.cpp63
1 files changed, 63 insertions, 0 deletions
diff --git a/library/error_log.cpp b/library/error_log.cpp
new file mode 100644
index 00000000..9936a2ea
--- /dev/null
+++ b/library/error_log.cpp
@@ -0,0 +1,63 @@
+// **************************************************************************
+// * This file is part of the FreeFileSync project. It is distributed under *
+// * GNU General Public License: http://www.gnu.org/licenses/gpl.html *
+// * Copyright (C) 2008-2010 ZenJu (zhnmju123 AT gmx.de) *
+// **************************************************************************
+//
+#include "error_log.h"
+#include <wx/datetime.h>
+#include <wx/intl.h>
+
+
+using ffs3::ErrorLogging;
+
+
+void ErrorLogging::logInfo(const wxString& infoMessage)
+{
+ const wxString prefix = wxString(wxT("[")) + wxDateTime::Now().FormatTime() + wxT("] ") + _("Info") + wxT(": ");
+ formattedMessages.push_back(assembleMessage(prefix, infoMessage));
+}
+
+
+void ErrorLogging::logWarning(const wxString& warningMessage)
+{
+ const wxString prefix = wxString(wxT("[")) + wxDateTime::Now().FormatTime() + wxT("] ") + _("Warning") + wxT(": ");
+ formattedMessages.push_back(assembleMessage(prefix, warningMessage));
+}
+
+
+void ErrorLogging::logError(const wxString& errorMessage)
+{
+ ++errorCount;
+
+ const wxString prefix = wxString(wxT("[")) + wxDateTime::Now().FormatTime() + wxT("] ") + _("Error") + wxT(": ");
+ formattedMessages.push_back(assembleMessage(prefix, errorMessage));
+}
+
+
+void ErrorLogging::logFatalError(const wxString& errorMessage)
+{
+ ++errorCount;
+
+ const wxString prefix = wxString(wxT("[")) + wxDateTime::Now().FormatTime() + wxT("] ") + _("Fatal Error") + wxT(": ");
+ formattedMessages.push_back(assembleMessage(prefix, errorMessage));
+}
+
+
+wxString ErrorLogging::assembleMessage(const wxString& prefix, const wxString& message)
+{
+ const size_t prefixLength = prefix.size();
+ wxString formattedText = prefix;
+ for (wxString::const_iterator i = message.begin(); i != message.end(); ++i)
+ if (*i == wxChar('\n'))
+ {
+ formattedText += wxString(wxChar('\n')).Pad(prefixLength, wxChar(' '), true);
+ while (*++i == wxChar('\n')) //remove duplicate newlines
+ ;
+ --i;
+ }
+ else
+ formattedText += *i;
+
+ return formattedText;
+}
bgstack15