1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
fuchsia_web / common / init_logging.cc [blame]
// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "fuchsia_web/common/init_logging.h"
#include <string_view>
#include "base/command_line.h"
#include "base/logging.h"
#include "base/numerics/safe_conversions.h"
#include "base/strings/strcat.h"
#include "base/strings/stringprintf.h"
#include "components/version_info/version_info.h"
// These values must match content/public/common/content_switches.cc so that
// the values will be passed to child processes in projects that Chromium's
// Content layer.
constexpr char kEnableLogging[] = "enable-logging";
constexpr char kLogFile[] = "log-file";
bool InitLoggingFromCommandLine(const base::CommandLine& command_line) {
logging::LoggingSettings settings;
if (command_line.GetSwitchValueASCII(kEnableLogging) == "stderr") {
settings.logging_dest = logging::LOG_TO_STDERR;
} else {
settings.logging_dest = logging::LOG_TO_SYSTEM_DEBUG_LOG;
}
if (command_line.HasSwitch(kLogFile)) {
settings.logging_dest |= logging::LOG_TO_FILE;
settings.log_file_path = command_line.GetSwitchValueASCII(kLogFile).c_str();
settings.delete_old = logging::DELETE_OLD_LOG_FILE;
}
logging::SetLogItems(true /* Process ID */, true /* Thread ID */,
true /* Timestamp */, false /* Tick count */);
return logging::InitLogging(settings);
}
bool InitLoggingFromCommandLineDefaultingToStderrForTest(
base::CommandLine* command_line) {
// Set logging to stderr if not specified.
if (!command_line->HasSwitch(kEnableLogging)) {
command_line->AppendSwitchNative(kEnableLogging, "stderr");
}
return InitLoggingFromCommandLine(*command_line);
}
void LogComponentStartWithVersion(std::string_view component_name) {
std::string version_string = base::StringPrintf(
"Starting %.*s %s", base::saturated_cast<int>(component_name.length()),
component_name.data(), version_info::GetVersionNumber().data());
#if !defined(OFFICIAL_BUILD)
version_string +=
base::StrCat({" (built at ", version_info::GetLastChange(), ")"});
#endif // !defined(OFFICIAL_BUILD)
LOG(INFO) << version_string;
}