diff options
author | Daniel Wilhelm <daniel@wili.li> | 2014-04-18 17:00:17 +0200 |
---|---|---|
committer | Daniel Wilhelm <daniel@wili.li> | 2014-04-18 17:00:17 +0200 |
commit | fd0853d2623dd278b08288331ed42e3be59252fb (patch) | |
tree | a7645daeaef8bdbed064faf4eb88e72cee58726c /library/errorLogging.cpp | |
parent | 2.1 (diff) | |
download | FreeFileSync-fd0853d2623dd278b08288331ed42e3be59252fb.tar.gz FreeFileSync-fd0853d2623dd278b08288331ed42e3be59252fb.tar.bz2 FreeFileSync-fd0853d2623dd278b08288331ed42e3be59252fb.zip |
2.2
Diffstat (limited to 'library/errorLogging.cpp')
-rw-r--r-- | library/errorLogging.cpp | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/library/errorLogging.cpp b/library/errorLogging.cpp new file mode 100644 index 00000000..000dce4d --- /dev/null +++ b/library/errorLogging.cpp @@ -0,0 +1,48 @@ +#include "errorLogging.h" +#include <wx/datetime.h> +#include <wx/intl.h> + + +using FreeFileSync::ErrorLogging; + + +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::logWarning(const wxString& warningMessage) +{ + const wxString prefix = wxString(wxT("[")) + wxDateTime::Now().FormatTime() + wxT("] ") + _("Warning") + wxT(": "); + formattedMessages.push_back(assembleMessage(prefix, warningMessage)); +} + + +void ErrorLogging::logInfo(const wxString& infoMessage) +{ + const wxString prefix = wxString(wxT("[")) + wxDateTime::Now().FormatTime() + wxT("] ") + _("Info") + wxT(": "); + formattedMessages.push_back(assembleMessage(prefix, infoMessage)); +} + + +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; +} |