summaryrefslogtreecommitdiffstats
path: root/core/os/os.cpp
diff options
context:
space:
mode:
authorRuslan Mustakov <ruslan.mustakov@xored.com>2017-11-21 16:35:01 +0700
committerRuslan Mustakov <ruslan.mustakov@xored.com>2017-11-21 16:43:44 +0700
commitd42c5646a584eb0a5ea469dc017a2892ed9b955a (patch)
tree5ea374a13a486f80e849d1ead15711275da912f0 /core/os/os.cpp
parentc846e49a7d3439d9aef5d499ad403304d89a3b3c (diff)
downloadredot-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.cpp17
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() {