tree: bc6661fc44bb2504c0f2689deb6fe9bc9c7ce16d [path history] [tgz]
  1. BUILD.gn
  2. device_event_log.cc
  3. device_event_log.h
  4. device_event_log_export.h
  5. device_event_log_impl.cc
  6. device_event_log_impl.h
  7. device_event_log_impl_unittest.cc
  8. OWNERS
  9. README.md
components/device_event_log/README.md

Device Event Log

This directory contains code for logging device and system events.

Usage

Use device event log macros to record events without contributing to noise in the chrome log.

  • Events are stored in a circular buffer (current limit is 4000).
  • Events can be viewed at chrome://device-log. Events can be filtered by type and level.
  • Events show up in feedback reports under device_event_log.
  • Network events are separated out into a network_event_log section.
  • ERROR events will also be logged to the main chrome log.
  • All events can be logged to the main chrome log using vlog: --vmodule=device_event_log*=1

The events can also be queried for viewing in other informational pages, e.g:

device_event_log::GetAsString(device_event_log::OLDEST_FIRST, "json",
                              "bluetooth", device_event_log::LOG_LEVEL_DEBUG,
                              1000);

Examples

Typical usage:

NET_LOG(EVENT) << "NetworkState Changed " << name << ": " << state;

POWER_LOG(USER) << "Suspend requested";

POWER_LOG(DEBUG) << "Sending suspend request to dbus object: " << path;

BLUETOOTH_LOG(ERROR) << "Unrecognized DBus error " << error_name;

Advanced usage:

device_event_log::LogLevel log_level =
      SuppressError(dbus_error_message) ? device_event_log::LOG_LEVEL_DEBUG
                                        : device_event_log::LOG_LEVEL_ERROR;
DEVICE_LOG(device_event_log::LOG_TYPE_NETWORK, log_level) << detail;
USB_PLOG(DEBUG) << "Failed to set configuration " << configuration_value;