<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="partners_v2.html">Google Partners API</a> . <a href="partners_v2.clientMessages.html">clientMessages</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#log">log(body, x__xgafv=None)</a></code></p>
<p class="firstline">Logs a generic message from the client, such as</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="log">log(body, x__xgafv=None)</code>
  <pre>Logs a generic message from the client, such as
`Failed to render component`, `Profile page is running slow`,
`More than 500 users have accessed this result.`, etc.

Args:
  body: object, The request body. (required)
    The object takes the form of:

{ # Request message for
      # LogClientMessage.
    "requestMetadata": { # Common data that is in each API request. # Current request metadata.
      "locale": "A String", # Locale to use for the current request.
      "partnersSessionId": "A String", # Google Partners session ID.
      "trafficSource": { # Source of traffic for the current request. # Source of traffic for the current request.
        "trafficSubId": "A String", # Second level identifier to indicate where the traffic comes from.
            # An identifier has multiple letters created by a team which redirected the
            # traffic to us.
        "trafficSourceId": "A String", # Identifier to indicate where the traffic comes from.
            # An identifier has multiple letters created by a team which redirected the
            # traffic to us.
      },
      "userOverrides": { # Values to use instead of the user's respective defaults. These are only # Values to use instead of the user's respective defaults for the current
          # request. These are only honored by whitelisted products.
          # honored by whitelisted products.
        "userId": "A String", # Logged-in user ID to impersonate instead of the user's ID.
        "ipAddress": "A String", # IP address to use instead of the user's geo-located IP address.
      },
      "experimentIds": [ # Experiment IDs the current request belongs to.
        "A String",
      ],
    },
    "clientInfo": { # Map of client info, such as URL, browser navigator, browser platform, etc.
      "a_key": "A String",
    },
    "details": "A String", # Details about the client message.
    "level": "A String", # Message level of client message.
  }

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response message for
      # LogClientMessage.
    "responseMetadata": { # Common data that is in each API response. # Current response metadata.
      "debugInfo": { # Debug information about this request. # Debug information about this request.
        "serverTraceInfo": "A String", # Server-side debug stack trace.
        "serviceUrl": "A String", # URL of the service that handled this request.
        "serverInfo": "A String", # Info about the server that serviced this request.
      },
    },
  }</pre>
</div>

</body></html>