Index: base/logging.h |
diff --git a/base/logging.h b/base/logging.h |
index 7854e3934e974b4670930d6855f3ab8699a8376f..c7c96d11fd7fad1c1fd7690d13e58ccf1e4fa87a 100644 |
--- a/base/logging.h |
+++ b/base/logging.h |
@@ -15,6 +15,7 @@ |
#include <utility> |
#include "base/base_export.h" |
+#include "base/callback_forward.h" |
#include "base/compiler_specific.h" |
#include "base/debug/debugger.h" |
#include "base/macros.h" |
@@ -277,8 +278,17 @@ BASE_EXPORT void SetShowErrorDialogs(bool enable_dialogs); |
// The default handler shows a dialog box and then terminate the process, |
// however clients can use this function to override with their own handling |
// (e.g. a silent one for Unit Tests) |
-typedef void (*LogAssertHandlerFunction)(const std::string& str); |
-BASE_EXPORT void SetLogAssertHandler(LogAssertHandlerFunction handler); |
+typedef base::Callback<void(const char* file, |
+ int line, |
+ const std::string& message, |
+ const std::string& stack_trace)> |
+ LogAssertHandlerFunction; |
dcheng
2017/02/14 23:59:26
It seems unnecessary to use base::Callback at the
alex-ac
2017/03/09 14:15:53
base::Callback is needed because there is class me
dcheng
2017/03/09 19:41:02
That method appears to be static.
|
+ |
+// Consider to use ScopedLogAssertHandler instead of these functions. |
+// see base/test/logging_utils.h. |
+BASE_EXPORT void PushLogAssertHandler(LogAssertHandlerFunction handler); |
+BASE_EXPORT void PopLogAssertHandler(); |
dcheng
2017/02/14 23:59:26
It seem like Pop and Log don't need to be exposed,
alex-ac
2017/03/09 14:15:53
Done.
|
+BASE_EXPORT LogAssertHandlerFunction GetLogAssertHandler(); |
// Sets the Log Message Handler that gets passed every log message before |
// it's sent to other log destinations (if any). |