summaryrefslogtreecommitdiff
path: root/src/common/logging/backend.cpp
diff options
context:
space:
mode:
authorGravatar Emmanuel Gil Peyrot2015-03-06 19:15:02 +0100
committerGravatar Emmanuel Gil Peyrot2015-03-06 19:23:52 +0100
commit0aa44e238db7a72f4fb8b347168ec76c3ce48ad5 (patch)
treedba02c60d0a663708265089394c634a655417f9d /src/common/logging/backend.cpp
parentMerge pull request #630 from archshift/swap (diff)
downloadyuzu-0aa44e238db7a72f4fb8b347168ec76c3ce48ad5.tar.gz
yuzu-0aa44e238db7a72f4fb8b347168ec76c3ce48ad5.tar.xz
yuzu-0aa44e238db7a72f4fb8b347168ec76c3ce48ad5.zip
Logging: check for filter before sending to the queue, to skip all heavy formatting on the other thread.
Diffstat (limited to 'src/common/logging/backend.cpp')
-rw-r--r--src/common/logging/backend.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/common/logging/backend.cpp b/src/common/logging/backend.cpp
index 7c1010b22..7b479b569 100644
--- a/src/common/logging/backend.cpp
+++ b/src/common/logging/backend.cpp
@@ -135,9 +135,18 @@ Entry CreateEntry(Class log_class, Level log_level,
135 return std::move(entry); 135 return std::move(entry);
136} 136}
137 137
138static Filter* filter;
139
140void SetFilter(Filter* new_filter) {
141 filter = new_filter;
142}
143
138void LogMessage(Class log_class, Level log_level, 144void LogMessage(Class log_class, Level log_level,
139 const char* filename, unsigned int line_nr, const char* function, 145 const char* filename, unsigned int line_nr, const char* function,
140 const char* format, ...) { 146 const char* format, ...) {
147 if (!filter->CheckMessage(log_class, log_level))
148 return;
149
141 va_list args; 150 va_list args;
142 va_start(args, format); 151 va_start(args, format);
143 Entry entry = CreateEntry(log_class, log_level, 152 Entry entry = CreateEntry(log_class, log_level,