diff options
| author | 2015-03-06 19:15:02 +0100 | |
|---|---|---|
| committer | 2015-03-06 19:23:52 +0100 | |
| commit | 0aa44e238db7a72f4fb8b347168ec76c3ce48ad5 (patch) | |
| tree | dba02c60d0a663708265089394c634a655417f9d /src/common/logging/backend.cpp | |
| parent | Merge pull request #630 from archshift/swap (diff) | |
| download | yuzu-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.cpp | 9 |
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 | ||
| 138 | static Filter* filter; | ||
| 139 | |||
| 140 | void SetFilter(Filter* new_filter) { | ||
| 141 | filter = new_filter; | ||
| 142 | } | ||
| 143 | |||
| 138 | void LogMessage(Class log_class, Level log_level, | 144 | void 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, |