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 { ...@@ -24,6 +24,7 @@ namespace dbus {
namespace { namespace {
const char kErrorServiceUnknown[] = "org.freedesktop.DBus.Error.ServiceUnknown"; 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. // Used for success ratio histograms. 1 for success, 0 for failure.
const int kSuccessRatioHistogramMaxValue = 2; const int kSuccessRatioHistogramMaxValue = 2;
...@@ -561,12 +562,20 @@ void ObjectProxy::LogMethodCallFailure( ...@@ -561,12 +562,20 @@ void ObjectProxy::LogMethodCallFailure(
const base::StringPiece& method_name, const base::StringPiece& method_name,
const base::StringPiece& error_name, const base::StringPiece& error_name,
const base::StringPiece& error_message) const { 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; return;
LOG(ERROR) << "Failed to call method: " logging::LogSeverity severity = logging::LOG_ERROR;
<< interface_name << "." << method_name // "UnknownObject" indicates that an object or service is no longer available,
<< ": object_path= " << object_path_.value() // e.g. a Shill network service has gone out of range. Treat these as warnings
<< ": " << error_name << ": " << error_message; // 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, void ObjectProxy::OnCallMethodError(const std::string& interface_name,
......
...@@ -46,7 +46,8 @@ class CHROME_DBUS_EXPORT ObjectProxy ...@@ -46,7 +46,8 @@ class CHROME_DBUS_EXPORT ObjectProxy
// Options to be OR-ed together when calling Bus::GetObjectProxyWithOptions(). // Options to be OR-ed together when calling Bus::GetObjectProxyWithOptions().
// Set the IGNORE_SERVICE_UNKNOWN_ERRORS option to silence logging of // 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 { enum Options {
DEFAULT_OPTIONS = 0, DEFAULT_OPTIONS = 0,
IGNORE_SERVICE_UNKNOWN_ERRORS = 1 << 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