diff options
Diffstat (limited to 'lib/error_log.h')
-rw-r--r-- | lib/error_log.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/lib/error_log.h b/lib/error_log.h new file mode 100644 index 00000000..07a8b383 --- /dev/null +++ b/lib/error_log.h @@ -0,0 +1,43 @@ +// ************************************************************************** +// * 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) ZenJu (zhnmju123 AT gmx DOT de) - All Rights Reserved * +// ************************************************************************** + +#ifndef ERROR_LOG_89734181783491324134 +#define ERROR_LOG_89734181783491324134 + +#include <cassert> +#include <zen/serialize.h> +#include <zen/time.h> +#include "ffs_paths.h" + + +namespace zen +{ +//write error message to a file (even with corrupted stack)- call in desperate situations when no other means of error handling is available +void logError(const std::string& msg); //throw() + + + + + + + + + +//##################### implementation ############################ +inline +void logError(const std::string& msg) //throw() +{ + assert(false); //this is stuff we like to debug + const std::string logEntry = "[" + formatTime<std::string>(FORMAT_DATE) + " "+ formatTime<std::string>(FORMAT_TIME) + "] " + msg; + try + { + saveBinStream(getConfigDir() + Zstr("LastError.txt"), logEntry); //throw FileError + } + catch (const FileError&) {} +} +} + +#endif //ERROR_LOG_89734181783491324134 |