alloy: Add setting to customize log items
This commit is contained in:
parent
52b4d7ba5a
commit
01e1a0f44d
|
@ -42,13 +42,13 @@
|
||||||
// way that may cause binary incompatibility with other builds. The universal
|
// way that may cause binary incompatibility with other builds. The universal
|
||||||
// hash value will change if any platform is affected whereas the platform hash
|
// hash value will change if any platform is affected whereas the platform hash
|
||||||
// values will change only if that particular platform is affected.
|
// values will change only if that particular platform is affected.
|
||||||
#define CEF_API_HASH_UNIVERSAL "7e96d7c2cfd58a4cf45baac9e75433f3cbb67f63"
|
#define CEF_API_HASH_UNIVERSAL "fa8cc34484fbca804b3b308446b2c144a0936003"
|
||||||
#if defined(OS_WIN)
|
#if defined(OS_WIN)
|
||||||
#define CEF_API_HASH_PLATFORM "f3a24a5c20d1cbf169ea25398e9186370b6d8de1"
|
#define CEF_API_HASH_PLATFORM "c75b851a2b1000f42c9fd47065902d7500d036ec"
|
||||||
#elif defined(OS_MAC)
|
#elif defined(OS_MAC)
|
||||||
#define CEF_API_HASH_PLATFORM "96a030434c6766961380bb76d92dd59c20ffd2ff"
|
#define CEF_API_HASH_PLATFORM "67b3ee05c5c6243dedd1bcf061fe3c39c11d97e3"
|
||||||
#elif defined(OS_LINUX)
|
#elif defined(OS_LINUX)
|
||||||
#define CEF_API_HASH_PLATFORM "5db43c0641a7a5638de64c9ab3d8807ddf6c9e9c"
|
#define CEF_API_HASH_PLATFORM "4da79d99f6eb7c7773e52da9f78a7c66f72c9c6d"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
|
@ -132,6 +132,42 @@ typedef enum {
|
||||||
LOGSEVERITY_DISABLE = 99
|
LOGSEVERITY_DISABLE = 99
|
||||||
} cef_log_severity_t;
|
} cef_log_severity_t;
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Log items prepended to each log line.
|
||||||
|
///
|
||||||
|
typedef enum {
|
||||||
|
///
|
||||||
|
/// Prepend the default list of items.
|
||||||
|
///
|
||||||
|
LOG_ITEMS_DEFAULT = 0,
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Prepend no items.
|
||||||
|
///
|
||||||
|
LOG_ITEMS_NONE = 1,
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Prepend the process ID.
|
||||||
|
///
|
||||||
|
LOG_ITEMS_FLAG_PROCESS_ID = 1 << 1,
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Prepend the thread ID.
|
||||||
|
///
|
||||||
|
LOG_ITEMS_FLAG_THREAD_ID = 1 << 2,
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Prepend the timestamp.
|
||||||
|
///
|
||||||
|
LOG_ITEMS_FLAG_TIME_STAMP = 1 << 3,
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Prepend the tickcount.
|
||||||
|
///
|
||||||
|
LOG_ITEMS_FLAG_TICK_COUNT = 1 << 4,
|
||||||
|
|
||||||
|
} cef_log_items_t;
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Represents the state of a setting.
|
/// Represents the state of a setting.
|
||||||
///
|
///
|
||||||
|
@ -336,6 +372,14 @@ typedef struct _cef_settings_t {
|
||||||
///
|
///
|
||||||
cef_log_severity_t log_severity;
|
cef_log_severity_t log_severity;
|
||||||
|
|
||||||
|
///
|
||||||
|
/// The log items prepended to each log line. If not set the default log items
|
||||||
|
/// will be used. Also configurable using the "log-items" command-line switch
|
||||||
|
/// with a value of "none" for no log items, or a comma-delimited list of
|
||||||
|
/// values "pid", "tid", "timestamp" or "tickcount" for custom log items.
|
||||||
|
///
|
||||||
|
cef_log_items_t log_items;
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Custom flags that will be used when initializing the V8 JavaScript engine.
|
/// Custom flags that will be used when initializing the V8 JavaScript engine.
|
||||||
/// The consequences of using custom flags may not be well tested. Also
|
/// The consequences of using custom flags may not be well tested. Also
|
||||||
|
|
|
@ -408,6 +408,7 @@ struct CefSettingsTraits {
|
||||||
cef_string_set(src->log_file.str, src->log_file.length, &target->log_file,
|
cef_string_set(src->log_file.str, src->log_file.length, &target->log_file,
|
||||||
copy);
|
copy);
|
||||||
target->log_severity = src->log_severity;
|
target->log_severity = src->log_severity;
|
||||||
|
target->log_items = src->log_items;
|
||||||
cef_string_set(src->javascript_flags.str, src->javascript_flags.length,
|
cef_string_set(src->javascript_flags.str, src->javascript_flags.length,
|
||||||
&target->javascript_flags, copy);
|
&target->javascript_flags, copy);
|
||||||
|
|
||||||
|
|
|
@ -564,6 +564,7 @@ void AlloyContentBrowserClient::AppendExtraCommandLineSwitches(
|
||||||
switches::kMainBundlePath,
|
switches::kMainBundlePath,
|
||||||
#endif
|
#endif
|
||||||
switches::kLocalesDirPath,
|
switches::kLocalesDirPath,
|
||||||
|
switches::kLogItems,
|
||||||
switches::kLogSeverity,
|
switches::kLogSeverity,
|
||||||
switches::kResourcesDirPath,
|
switches::kResourcesDirPath,
|
||||||
embedder_support::kUserAgent,
|
embedder_support::kUserAgent,
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
#include "base/path_service.h"
|
#include "base/path_service.h"
|
||||||
#include "base/stl_util.h"
|
#include "base/stl_util.h"
|
||||||
#include "base/strings/string_number_conversions.h"
|
#include "base/strings/string_number_conversions.h"
|
||||||
|
#include "base/strings/string_split.h"
|
||||||
#include "base/strings/string_util.h"
|
#include "base/strings/string_util.h"
|
||||||
#include "base/synchronization/waitable_event.h"
|
#include "base/synchronization/waitable_event.h"
|
||||||
#include "chrome/browser/browser_process.h"
|
#include "chrome/browser/browser_process.h"
|
||||||
|
@ -212,6 +213,35 @@ absl::optional<int> AlloyMainDelegate::BasicStartupComplete() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (settings_->log_items != LOG_ITEMS_DEFAULT) {
|
||||||
|
std::string log_items_str;
|
||||||
|
if (settings_->log_items == LOG_ITEMS_NONE) {
|
||||||
|
log_items_str = std::string(switches::kLogItems_None);
|
||||||
|
} else {
|
||||||
|
std::vector<base::StringPiece> added_items;
|
||||||
|
if (settings_->log_items & LOG_ITEMS_FLAG_PROCESS_ID) {
|
||||||
|
added_items.push_back(base::StringPiece(switches::kLogItems_PId));
|
||||||
|
}
|
||||||
|
if (settings_->log_items & LOG_ITEMS_FLAG_THREAD_ID) {
|
||||||
|
added_items.push_back(base::StringPiece(switches::kLogItems_TId));
|
||||||
|
}
|
||||||
|
if (settings_->log_items & LOG_ITEMS_FLAG_TIME_STAMP) {
|
||||||
|
added_items.push_back(
|
||||||
|
base::StringPiece(switches::kLogItems_TimeStamp));
|
||||||
|
}
|
||||||
|
if (settings_->log_items & LOG_ITEMS_FLAG_TICK_COUNT) {
|
||||||
|
added_items.push_back(
|
||||||
|
base::StringPiece(switches::kLogItems_TickCount));
|
||||||
|
}
|
||||||
|
if (!added_items.empty()) {
|
||||||
|
log_items_str = base::JoinString(added_items, ",");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!log_items_str.empty()) {
|
||||||
|
command_line->AppendSwitchASCII(switches::kLogItems, log_items_str);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (settings_->javascript_flags.length > 0) {
|
if (settings_->javascript_flags.length > 0) {
|
||||||
command_line->AppendSwitchASCII(
|
command_line->AppendSwitchASCII(
|
||||||
blink::switches::kJavaScriptFlags,
|
blink::switches::kJavaScriptFlags,
|
||||||
|
@ -346,6 +376,42 @@ absl::optional<int> AlloyMainDelegate::BasicStartupComplete() {
|
||||||
logging::SetMinLogLevel(log_severity);
|
logging::SetMinLogLevel(log_severity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Customization of items automatically prepended to log lines.
|
||||||
|
std::string log_items_str =
|
||||||
|
command_line->GetSwitchValueASCII(switches::kLogItems);
|
||||||
|
if (!log_items_str.empty()) {
|
||||||
|
bool enable_log_of_process_id, enable_log_of_thread_id,
|
||||||
|
enable_log_of_time_stamp, enable_log_of_tick_count;
|
||||||
|
enable_log_of_process_id = enable_log_of_thread_id =
|
||||||
|
enable_log_of_time_stamp = enable_log_of_tick_count = false;
|
||||||
|
|
||||||
|
for (const auto& cur_item_to_log :
|
||||||
|
base::SplitStringPiece(log_items_str, ",", base::TRIM_WHITESPACE,
|
||||||
|
base::SPLIT_WANT_NONEMPTY)) {
|
||||||
|
// if "none" mode is present, all items are disabled.
|
||||||
|
if (base::EqualsCaseInsensitiveASCII(cur_item_to_log,
|
||||||
|
switches::kLogItems_None)) {
|
||||||
|
enable_log_of_process_id = enable_log_of_thread_id =
|
||||||
|
enable_log_of_time_stamp = enable_log_of_tick_count = false;
|
||||||
|
break;
|
||||||
|
} else if (base::EqualsCaseInsensitiveASCII(cur_item_to_log,
|
||||||
|
switches::kLogItems_PId)) {
|
||||||
|
enable_log_of_process_id = true;
|
||||||
|
} else if (base::EqualsCaseInsensitiveASCII(cur_item_to_log,
|
||||||
|
switches::kLogItems_TId)) {
|
||||||
|
enable_log_of_thread_id = true;
|
||||||
|
} else if (base::EqualsCaseInsensitiveASCII(
|
||||||
|
cur_item_to_log, switches::kLogItems_TimeStamp)) {
|
||||||
|
enable_log_of_time_stamp = true;
|
||||||
|
} else if (base::EqualsCaseInsensitiveASCII(
|
||||||
|
cur_item_to_log, switches::kLogItems_TickCount)) {
|
||||||
|
enable_log_of_tick_count = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
logging::SetLogItems(enable_log_of_process_id, enable_log_of_thread_id,
|
||||||
|
enable_log_of_time_stamp, enable_log_of_tick_count);
|
||||||
|
}
|
||||||
|
|
||||||
logging::InitLogging(log_settings);
|
logging::InitLogging(log_settings);
|
||||||
|
|
||||||
ContentSettingsPattern::SetNonWildcardDomainNonPortSchemes(
|
ContentSettingsPattern::SetNonWildcardDomainNonPortSchemes(
|
||||||
|
|
|
@ -15,6 +15,14 @@ const char kLogSeverity_Error[] = "error";
|
||||||
const char kLogSeverity_Fatal[] = "fatal";
|
const char kLogSeverity_Fatal[] = "fatal";
|
||||||
const char kLogSeverity_Disable[] = "disable";
|
const char kLogSeverity_Disable[] = "disable";
|
||||||
|
|
||||||
|
// Customization of items automatically prepended to log lines.
|
||||||
|
const char kLogItems[] = "log-items";
|
||||||
|
const char kLogItems_None[] = "none";
|
||||||
|
const char kLogItems_PId[] = "pid";
|
||||||
|
const char kLogItems_TId[] = "tid";
|
||||||
|
const char kLogItems_TimeStamp[] = "timestamp";
|
||||||
|
const char kLogItems_TickCount[] = "tickcount";
|
||||||
|
|
||||||
// Path to resources directory.
|
// Path to resources directory.
|
||||||
const char kResourcesDirPath[] = "resources-dir-path";
|
const char kResourcesDirPath[] = "resources-dir-path";
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,12 @@ extern const char kLogSeverity_Warning[];
|
||||||
extern const char kLogSeverity_Error[];
|
extern const char kLogSeverity_Error[];
|
||||||
extern const char kLogSeverity_Fatal[];
|
extern const char kLogSeverity_Fatal[];
|
||||||
extern const char kLogSeverity_Disable[];
|
extern const char kLogSeverity_Disable[];
|
||||||
|
extern const char kLogItems[];
|
||||||
|
extern const char kLogItems_None[];
|
||||||
|
extern const char kLogItems_PId[];
|
||||||
|
extern const char kLogItems_TId[];
|
||||||
|
extern const char kLogItems_TimeStamp[];
|
||||||
|
extern const char kLogItems_TickCount[];
|
||||||
extern const char kResourcesDirPath[];
|
extern const char kResourcesDirPath[];
|
||||||
extern const char kLocalesDirPath[];
|
extern const char kLocalesDirPath[];
|
||||||
extern const char kDisablePackLoading[];
|
extern const char kDisablePackLoading[];
|
||||||
|
|
Loading…
Reference in New Issue