You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
107 lines
3.0 KiB
107 lines
3.0 KiB
3 years ago
|
https://github.com/google/glog/issues/125
|
||
|
https://github.com/google/glog/pull/651
|
||
|
https://github.com/google/glog/commit/81e0d616edeb73cbd06d6c40bc4f90593ac0c5d1
|
||
|
|
||
|
--- /src/glog/logging.h.in
|
||
|
+++ /src/glog/logging.h.in
|
||
|
@@ -594,6 +594,9 @@
|
||
|
void* prefix_callback_data = NULL);
|
||
|
#endif
|
||
|
|
||
|
+// Check if google's logging library has been initialized.
|
||
|
+GOOGLE_GLOG_DLL_DECL bool IsGoogleLoggingInitialized();
|
||
|
+
|
||
|
// Shutdown google's logging library.
|
||
|
GOOGLE_GLOG_DLL_DECL void ShutdownGoogleLogging();
|
||
|
|
||
|
--- /src/logging_custom_prefix_unittest.cc
|
||
|
+++ /src/logging_custom_prefix_unittest.cc
|
||
|
@@ -221,11 +221,15 @@
|
||
|
LogWithLevels(0, 0, 0, 0); // simulate "before global c-tors"
|
||
|
const string early_stderr = GetCapturedTestStderr();
|
||
|
|
||
|
+ EXPECT_FALSE(IsGoogleLoggingInitialized());
|
||
|
+
|
||
|
// Setting a custom prefix generator (it will use the default format so that
|
||
|
// the golden outputs can be reused):
|
||
|
string prefix_attacher_data = "good data";
|
||
|
InitGoogleLogging(argv[0], &PrefixAttacher, static_cast<void*>(&prefix_attacher_data));
|
||
|
|
||
|
+ EXPECT_TRUE(IsGoogleLoggingInitialized());
|
||
|
+
|
||
|
RunSpecifiedBenchmarks();
|
||
|
|
||
|
FLAGS_logtostderr = true;
|
||
|
@@ -992,8 +996,10 @@
|
||
|
base::SetLogger(GLOG_INFO,
|
||
|
new RecordDeletionLogger(&custom_logger_deleted,
|
||
|
base::GetLogger(GLOG_INFO)));
|
||
|
+ EXPECT_TRUE(IsGoogleLoggingInitialized());
|
||
|
ShutdownGoogleLogging();
|
||
|
EXPECT_TRUE(custom_logger_deleted);
|
||
|
+ EXPECT_FALSE(IsGoogleLoggingInitialized());
|
||
|
}
|
||
|
|
||
|
_START_GOOGLE_NAMESPACE_
|
||
|
--- /src/logging_unittest.cc
|
||
|
+++ /src/logging_unittest.cc
|
||
|
@@ -197,8 +197,12 @@
|
||
|
LogWithLevels(0, 0, 0, 0); // simulate "before global c-tors"
|
||
|
const string early_stderr = GetCapturedTestStderr();
|
||
|
|
||
|
+ EXPECT_FALSE(IsGoogleLoggingInitialized());
|
||
|
+
|
||
|
InitGoogleLogging(argv[0]);
|
||
|
|
||
|
+ EXPECT_TRUE(IsGoogleLoggingInitialized());
|
||
|
+
|
||
|
RunSpecifiedBenchmarks();
|
||
|
|
||
|
FLAGS_logtostderr = true;
|
||
|
@@ -965,8 +969,10 @@
|
||
|
base::SetLogger(GLOG_INFO,
|
||
|
new RecordDeletionLogger(&custom_logger_deleted,
|
||
|
base::GetLogger(GLOG_INFO)));
|
||
|
+ EXPECT_TRUE(IsGoogleLoggingInitialized());
|
||
|
ShutdownGoogleLogging();
|
||
|
EXPECT_TRUE(custom_logger_deleted);
|
||
|
+ EXPECT_FALSE(IsGoogleLoggingInitialized());
|
||
|
}
|
||
|
|
||
|
_START_GOOGLE_NAMESPACE_
|
||
|
--- /src/utilities.cc
|
||
|
+++ /src/utilities.cc
|
||
|
@@ -62,6 +62,10 @@
|
||
|
|
||
|
static const char* g_program_invocation_short_name = NULL;
|
||
|
|
||
|
+bool IsGoogleLoggingInitialized() {
|
||
|
+ return g_program_invocation_short_name != NULL;
|
||
|
+}
|
||
|
+
|
||
|
_END_GOOGLE_NAMESPACE_
|
||
|
|
||
|
// The following APIs are all internal.
|
||
|
@@ -176,10 +180,6 @@
|
||
|
}
|
||
|
}
|
||
|
|
||
|
-bool IsGoogleLoggingInitialized() {
|
||
|
- return g_program_invocation_short_name != NULL;
|
||
|
-}
|
||
|
-
|
||
|
#ifdef OS_WINDOWS
|
||
|
struct timeval {
|
||
|
long tv_sec, tv_usec;
|
||
|
--- /src/utilities.h
|
||
|
+++ /src/utilities.h
|
||
|
@@ -163,8 +163,6 @@
|
||
|
|
||
|
const char* ProgramInvocationShortName();
|
||
|
|
||
|
-bool IsGoogleLoggingInitialized();
|
||
|
-
|
||
|
int64 CycleClock_Now();
|
||
|
|
||
|
int64 UsecToCycles(int64 usec);
|