Commit 57051da8 authored by stevenjb@chromium.org's avatar stevenjb@chromium.org

Reduce DBus ObjectUnknown ERROR to WARNING

BUG=401571

Review URL: https://codereview.chromium.org/455533002

Cr-Commit-Position: refs/heads/master@{#288446}
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@288446 0039d316-1c4b-4281-b951-d872f2087c98
parent 5b6ce11b
......@@ -24,6 +24,7 @@ namespace dbus {
namespace {
const char kErrorServiceUnknown[] = "org.freedesktop.DBus.Error.ServiceUnknown";
const char kErrorObjectUnknown[] = "org.freedesktop.DBus.Error.UnknownObject";
// Used for success ratio histograms. 1 for success, 0 for failure.
const int kSuccessRatioHistogramMaxValue = 2;
......@@ -561,12 +562,20 @@ void ObjectProxy::LogMethodCallFailure(
const base::StringPiece& method_name,
const base::StringPiece& error_name,
const base::StringPiece& error_message) const {
if (ignore_service_unknown_errors_ && error_name == kErrorServiceUnknown)
if (ignore_service_unknown_errors_ &&
(error_name == kErrorServiceUnknown || error_name == kErrorObjectUnknown))
return;
LOG(ERROR) << "Failed to call method: "
<< interface_name << "." << method_name
<< ": object_path= " << object_path_.value()
<< ": " << error_name << ": " << error_message;
logging::LogSeverity severity = logging::LOG_ERROR;
// "UnknownObject" indicates that an object or service is no longer available,
// e.g. a Shill network service has gone out of range. Treat these as warnings
// not errors.
if (error_name == kErrorObjectUnknown)
severity = logging::LOG_WARNING;
std::ostringstream msg;
msg << "Failed to call method: " << interface_name << "." << method_name
<< ": object_path= " << object_path_.value()
<< ": " << error_name << ": " << error_message;
logging::LogAtLevel(severity, msg.str());
}
void ObjectProxy::OnCallMethodError(const std::string& interface_name,
......
......@@ -46,7 +46,8 @@ class CHROME_DBUS_EXPORT ObjectProxy
// Options to be OR-ed together when calling Bus::GetObjectProxyWithOptions().
// Set the IGNORE_SERVICE_UNKNOWN_ERRORS option to silence logging of
// org.freedesktop.DBus.Error.ServiceUnknown errors.
// org.freedesktop.DBus.Error.ServiceUnknown errors and
// org.freedesktop.DBus.Error.ObjectUnknown errors.
enum Options {
DEFAULT_OPTIONS = 0,
IGNORE_SERVICE_UNKNOWN_ERRORS = 1 << 0
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment