feat: add verbose logging flags for CMake branch (#1266)
Co-authored-by: Joey Parrish <joeyparrish@google.com>
This commit is contained in:
parent
8b87804c57
commit
72117f85ad
|
@ -16,6 +16,7 @@
|
||||||
#include "packager/mpd/util/mpd_writer.h"
|
#include "packager/mpd/util/mpd_writer.h"
|
||||||
#include "packager/tools/license_notice.h"
|
#include "packager/tools/license_notice.h"
|
||||||
#include "packager/version/version.h"
|
#include "packager/version/version.h"
|
||||||
|
#include "vlog_flags.h"
|
||||||
|
|
||||||
#if defined(OS_WIN)
|
#if defined(OS_WIN)
|
||||||
#include <codecvt>
|
#include <codecvt>
|
||||||
|
@ -120,6 +121,8 @@ int MpdMain(int argc, char** argv) {
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
register_flags_with_glog();
|
||||||
|
|
||||||
if (!absl::GetFlag(FLAGS_test_packager_version).empty())
|
if (!absl::GetFlag(FLAGS_test_packager_version).empty())
|
||||||
SetPackagerVersionForTesting(absl::GetFlag(FLAGS_test_packager_version));
|
SetPackagerVersionForTesting(absl::GetFlag(FLAGS_test_packager_version));
|
||||||
|
|
||||||
|
|
|
@ -31,6 +31,7 @@
|
||||||
#include "packager/tools/license_notice.h"
|
#include "packager/tools/license_notice.h"
|
||||||
#include "packager/utils/string_trim_split.h"
|
#include "packager/utils/string_trim_split.h"
|
||||||
#include "retired_flags.h"
|
#include "retired_flags.h"
|
||||||
|
#include "vlog_flags.h"
|
||||||
|
|
||||||
#if defined(OS_WIN)
|
#if defined(OS_WIN)
|
||||||
#include <codecvt>
|
#include <codecvt>
|
||||||
|
@ -555,6 +556,8 @@ int PackagerMain(int argc, char** argv) {
|
||||||
if (absl::GetFlag(FLAGS_quiet))
|
if (absl::GetFlag(FLAGS_quiet))
|
||||||
google::SetStderrLogging(google::GLOG_WARNING);
|
google::SetStderrLogging(google::GLOG_WARNING);
|
||||||
|
|
||||||
|
register_flags_with_glog();
|
||||||
|
|
||||||
if (!ValidateWidevineCryptoFlags() || !ValidateRawKeyCryptoFlags() ||
|
if (!ValidateWidevineCryptoFlags() || !ValidateRawKeyCryptoFlags() ||
|
||||||
!ValidatePRCryptoFlags() || !ValidateCryptoFlags() ||
|
!ValidatePRCryptoFlags() || !ValidateCryptoFlags() ||
|
||||||
!ValidateRetiredFlags()) {
|
!ValidateRetiredFlags()) {
|
||||||
|
|
|
@ -7,12 +7,15 @@
|
||||||
// Defines verbose logging flags.
|
// Defines verbose logging flags.
|
||||||
|
|
||||||
#include "packager/app/vlog_flags.h"
|
#include "packager/app/vlog_flags.h"
|
||||||
|
#include "absl/strings/numbers.h"
|
||||||
|
#include "packager/kv_pairs/kv_pairs.h"
|
||||||
|
|
||||||
ABSL_FLAG(int32_t,
|
ABSL_FLAG(int32_t,
|
||||||
v,
|
v,
|
||||||
0,
|
0,
|
||||||
"Show all VLOG(m) or DVLOG(m) messages for m <= this. "
|
"Show all VLOG(m) or DVLOG(m) messages for m <= this. "
|
||||||
"Overridable by --vmodule.");
|
"Overridable by --vmodule.");
|
||||||
|
|
||||||
ABSL_FLAG(
|
ABSL_FLAG(
|
||||||
std::string,
|
std::string,
|
||||||
vmodule,
|
vmodule,
|
||||||
|
@ -26,3 +29,41 @@ ABSL_FLAG(
|
||||||
"? and * in the glob pattern match any single or sequence of characters "
|
"? and * in the glob pattern match any single or sequence of characters "
|
||||||
"respectively including slashes. "
|
"respectively including slashes. "
|
||||||
"<log level> overrides any value given by --v.");
|
"<log level> overrides any value given by --v.");
|
||||||
|
|
||||||
|
// logging.h defines FLAGS_v and FLAGS_vmodule in terms of the gflags library,
|
||||||
|
// which we do not use. Here we use macros to rename those symbols to avoid a
|
||||||
|
// conflict with the flags we defined above using absl. When we switch from
|
||||||
|
// glog to absl::logging, this workaround should be removed.
|
||||||
|
#define FLAGS_v GLOG_FLAGS_v
|
||||||
|
#define FLAGS_vmodule GLOG_FLAGS_vmodule
|
||||||
|
#include <glog/logging.h>
|
||||||
|
#undef FLAGS_vmodule
|
||||||
|
#undef FLAGS_v
|
||||||
|
|
||||||
|
namespace shaka {
|
||||||
|
|
||||||
|
void register_flags_with_glog() {
|
||||||
|
auto vlog_level = absl::GetFlag(FLAGS_v);
|
||||||
|
if (vlog_level != 0) {
|
||||||
|
google::SetVLOGLevel("*", vlog_level);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string vmodule_patterns = absl::GetFlag(FLAGS_vmodule);
|
||||||
|
if (!vmodule_patterns.empty()) {
|
||||||
|
std::vector<KVPair> patterns =
|
||||||
|
SplitStringIntoKeyValuePairs(vmodule_patterns, '=', ',');
|
||||||
|
int pattern_vlevel;
|
||||||
|
|
||||||
|
for (const auto& pattern : patterns) {
|
||||||
|
if (!::absl::SimpleAtoi(pattern.second, &pattern_vlevel)) {
|
||||||
|
LOG(ERROR) << "Error parsing log level for '" << pattern.first
|
||||||
|
<< "' from '" << pattern.second << "'";
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
google::SetVLOGLevel(pattern.first.c_str(), pattern_vlevel);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace shaka
|
||||||
|
|
|
@ -10,7 +10,8 @@
|
||||||
#include <absl/flags/declare.h>
|
#include <absl/flags/declare.h>
|
||||||
#include <absl/flags/flag.h>
|
#include <absl/flags/flag.h>
|
||||||
|
|
||||||
// ABSL_DECLARE_FLAG(int32_t, v);
|
namespace shaka {
|
||||||
// ABSL_DECLARE_FLAG(std::string, vmodule);
|
void register_flags_with_glog();
|
||||||
|
}
|
||||||
|
|
||||||
#endif // APP_VLOG_FLAGS_H_
|
#endif // APP_VLOG_FLAGS_H_
|
||||||
|
|
Loading…
Reference in New Issue