diff options
author | Ruslan Mustakov <ruslan.mustakov@xored.com> | 2017-11-21 16:35:01 +0700 |
---|---|---|
committer | Ruslan Mustakov <ruslan.mustakov@xored.com> | 2017-11-21 16:43:44 +0700 |
commit | d42c5646a584eb0a5ea469dc017a2892ed9b955a (patch) | |
tree | 5ea374a13a486f80e849d1ead15711275da912f0 /core/os/os.cpp | |
parent | c846e49a7d3439d9aef5d499ad403304d89a3b3c (diff) | |
download | redot-engine-d42c5646a584eb0a5ea469dc017a2892ed9b955a.tar.gz |
Return and repair file logging
And make it configurable, too.
Diffstat (limited to 'core/os/os.cpp')
-rw-r--r-- | core/os/os.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/core/os/os.cpp b/core/os/os.cpp index dd71f8a9c6..0e7e26df73 100644 --- a/core/os/os.cpp +++ b/core/os/os.cpp @@ -63,15 +63,21 @@ void OS::debug_break(){ // something }; -void OS::_set_logger(Logger *p_logger) { +void OS::_set_logger(CompositeLogger *p_logger) { if (_logger) { memdelete(_logger); } _logger = p_logger; } -void OS::initialize_logger() { - _set_logger(memnew(StdLogger)); +void OS::add_logger(Logger *p_logger) { + if (!_logger) { + Vector<Logger *> loggers; + loggers.push_back(p_logger); + _logger = memnew(CompositeLogger(loggers)); + } else { + _logger->add_logger(p_logger); + } } void OS::print_error(const char *p_function, const char *p_file, int p_line, const char *p_code, const char *p_rationale, Logger::ErrorType p_type) { @@ -604,7 +610,10 @@ OS::OS() { _stack_bottom = (void *)(&stack_bottom); _logger = NULL; - _set_logger(memnew(StdLogger)); + + Vector<Logger *> loggers; + loggers.push_back(memnew(StdLogger)); + _set_logger(memnew(CompositeLogger(loggers))); } OS::~OS() { |