You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I don't really use absl::log, but a library I depend on uses it. It logs a bunch of "garbage" (unrelated to my project) that appears on the stderr. It includes the message:
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
Now I'm adding an earlier call in my program to absl::InitializeLog() in an attempt to eliminate the noise. But I noticed the library I use also eventually calls absl::InitializeLog().
Checking the documentation of absl::InitializeLog it's an error to call it more than once.
More generically, a project and one or more of its dependencies may need to call absl::InitializeLog, and there is no way to coordinate this across completely independent libraries -- ideally, libraries should never call it but ... it happens -- see Google's XLA as an example.
Hence my bug/feature request to make InitializeLog safe to be called multiple times -- a no-op if it has already been called.
ps.: I'm no expert on absl library, it's very likely there is nuance I'm missing.
Steps to reproduce the problem
Use two libraries where both call absl::InitializeLog()
What version of Abseil are you using?
Head.
What operating system and version are you using?
Ubuntu, various versions.
What compiler and version are you using?
clang
What build system are you using?
bazel
Additional context
No response
The text was updated successfully, but these errors were encountered:
Well, if only I had access to all the code (of all dependencies) ... One could also create a wrapper to absl::InitiailzedLog that includes a std::call_once() to the original.
Alas, the issue is that the other libraries that I link call absl::InitailizeLog and I cannot change their code with any of the suggestions. Case in point, I'm not able to change the Abseil library to include such a test inside abls::InitializedLog directly 😄
Describe the issue
I don't really use
absl::log
, but a library I depend on uses it. It logs a bunch of "garbage" (unrelated to my project) that appears on the stderr. It includes the message:Now I'm adding an earlier call in my program to
absl::InitializeLog()
in an attempt to eliminate the noise. But I noticed the library I use also eventually callsabsl::InitializeLog()
.Checking the documentation of
absl::InitializeLog
it's an error to call it more than once.More generically, a project and one or more of its dependencies may need to call
absl::InitializeLog
, and there is no way to coordinate this across completely independent libraries -- ideally, libraries should never call it but ... it happens -- see Google's XLA as an example.Hence my bug/feature request to make
InitializeLog
safe to be called multiple times -- a no-op if it has already been called.ps.: I'm no expert on
absl
library, it's very likely there is nuance I'm missing.Steps to reproduce the problem
Use two libraries where both call
absl::InitializeLog()
What version of Abseil are you using?
Head.
What operating system and version are you using?
Ubuntu, various versions.
What compiler and version are you using?
clang
What build system are you using?
bazel
Additional context
No response
The text was updated successfully, but these errors were encountered: