Skip to content

Commit

Permalink
Merge pull request #651 from xkszltl/initapi
Browse files Browse the repository at this point in the history
Expose `IsGoogleLoggingInitialized()` in public API.
  • Loading branch information
sergiud committed May 14, 2021
2 parents d5c04ee + 81e0d61 commit 0b3d4cb
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 6 deletions.
3 changes: 3 additions & 0 deletions src/glog/logging.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -594,6 +594,9 @@ GOOGLE_GLOG_DLL_DECL void InitGoogleLogging(const char* argv0,
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();

Expand Down
6 changes: 6 additions & 0 deletions src/logging_custom_prefix_unittest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -221,11 +221,15 @@ int main(int argc, char **argv) {
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;
Expand Down Expand Up @@ -992,8 +996,10 @@ static void TestCustomLoggerDeletionOnShutdown() {
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_
Expand Down
6 changes: 6 additions & 0 deletions src/logging_unittest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -197,8 +197,12 @@ int main(int argc, char **argv) {
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;
Expand Down Expand Up @@ -965,8 +969,10 @@ static void TestCustomLoggerDeletionOnShutdown() {
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_
Expand Down
8 changes: 4 additions & 4 deletions src/utilities.cc
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,10 @@ _START_GOOGLE_NAMESPACE_

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.
Expand Down Expand Up @@ -176,10 +180,6 @@ const char* ProgramInvocationShortName() {
}
}

bool IsGoogleLoggingInitialized() {
return g_program_invocation_short_name != NULL;
}

#ifdef OS_WINDOWS
struct timeval {
long tv_sec, tv_usec;
Expand Down
2 changes: 0 additions & 2 deletions src/utilities.h
Original file line number Diff line number Diff line change
Expand Up @@ -163,8 +163,6 @@ namespace glog_internal_namespace_ {

const char* ProgramInvocationShortName();

bool IsGoogleLoggingInitialized();

int64 CycleClock_Now();

int64 UsecToCycles(int64 usec);
Expand Down

0 comments on commit 0b3d4cb

Please sign in to comment.