debugd: Add GetFeedbackLogsV2 DBus method to debugd

Introduce GetFeedbackLogsV2 DBus method to debugd which will
take a parameter to determine with category of logs it will emit. The
requested log type will be represented by an array of log type enumaration.
If the list of requested logs is empty, all available logs will be
emitted by default. When all callers of GetBigFeedbackLogs migrate to
use the new method, we will update the signature of GetBigFeedbackLogs
to have this new signature.
Separate the /var/log files logs in debugd's log_tool.cc to a new
category of logs so they can be requested separately with the new DBus
method.
Add "auth_failure" entry to docs/log_entries.md to make the tests pass.
See go/support-tool-chromeos-system-logs for more details.

BUG=b:214502644
TEST=Manual testing on DUT.

Change-Id: I80a2771009e7a44d0e25c4124e2a6956c721fd40
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/3913103
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Irem Uguz <iremuguz@google.com>
Commit-Queue: Irem Uguz <iremuguz@google.com>
NOKEYCHECK=True
GitOrigin-RevId: 66a3369e6dccf6f0f7b6d86b2d4a2d4fb2153a68
1 file changed
tree: 3f1db0b3933a32de4aef0415f982fcc7f6cf43a3
  1. constants/
  2. dbus/
  3. mojo/
  4. src/
  5. switches/
  6. .gitignore
  7. BUILD.gn
  8. build.rs
  9. Cargo.toml
  10. DIR_METADATA
  11. LICENSE
  12. OWNERS
  13. README.md
  14. system_api.pc
README.md

This directory (platform2/system_api) contains constants and definitions like D-Bus service names that are shared between Chromium and Chromium OS.

This directory is only for things like headers and .proto files. No implementation should be added.

When writting a .proto file make sure to use:

option optimize_for = LITE_RUNTIME;

This will force usage of a lite protobuf instead of a full/heavy weight protobuf. The browser only links against the light version, so you will get cryptic link errors about missing parts of Message if you define a protobuf here and then try to use it in Chrome. Currently CrOS links against the full protobuffer library, but that might change in the future.

When declaring a protobuf, avoid use of required unless it is exactly what you mean. “Required is Forever” and very rarely should actually be used. Consult Protocol Buffer Basics: C++ for a detailed of this issue.