summaryrefslogtreecommitdiff
path: root/indra/llcommon
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llcommon')
-rw-r--r--indra/llcommon/llerror.cpp17
-rw-r--r--indra/llcommon/llerror.h3
2 files changed, 20 insertions, 0 deletions
diff --git a/indra/llcommon/llerror.cpp b/indra/llcommon/llerror.cpp
index 5ed348e13c..16ae1f0604 100644
--- a/indra/llcommon/llerror.cpp
+++ b/indra/llcommon/llerror.cpp
@@ -1493,3 +1493,20 @@ namespace LLError
}
}
+bool debugLoggingEnabled(const std::string& tag)
+{
+ const char* tags[] = {tag.c_str()};
+ ::size_t tag_count = 1;
+ LLError::CallSite _site(LLError::LEVEL_DEBUG, __FILE__, __LINE__,
+ typeid(_LL_CLASS_TO_LOG), __FUNCTION__, false, tags, tag_count);
+ if (LL_UNLIKELY(_site.shouldLog()))
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+}
+
+
diff --git a/indra/llcommon/llerror.h b/indra/llcommon/llerror.h
index 3beef65723..555a189b00 100644
--- a/indra/llcommon/llerror.h
+++ b/indra/llcommon/llerror.h
@@ -363,4 +363,7 @@ typedef LLError::NoClassInfo _LL_CLASS_TO_LOG;
#define LL_INFOS_ONCE(...) lllog(LLError::LEVEL_INFO, true, ##__VA_ARGS__)
#define LL_WARNS_ONCE(...) lllog(LLError::LEVEL_WARN, true, ##__VA_ARGS__)
+// Check at run-time whether logging is enabled, without generating output
+bool debugLoggingEnabled(const std::string& tag);
+
#endif // LL_LLERROR_H