Summary

The enableLogCollectorInstanceDebugLogging() mutation enables debug logging for a specific LogCollector instance identified by its ID. Use this mutation to troubleshoot a single collector instance without affecting other instances. After troubleshooting is complete, call disableLogCollectorInstanceDebugLogging() to disable debug logging and reduce log volume.

Syntax

graphql
enableLogCollectorInstanceDebugLogging(
      id: String!,
      url: String,
      token: String!,
      level: String!,
      repositoryName: String
   ): Boolean!

Required parameters are id, token, and level. The url and repositoryName parameters are optional. The mutation returns a non-null Boolean! confirming whether debug logging was successfully enabled.

Example

Raw
graphql
mutation {
  enableLogCollectorInstanceDebugLogging(
      id: "abc123"
      url: "https://lc.company.com", 
      token: "123abc456def789", 
      level: "high", 
      repositoryName: "humio"
   )
}
Mac OS or Linux (curl)
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql \
    -H "Authorization: Bearer $TOKEN" \
    -H "Content-Type: application/json" \
    -d @- << EOF
{"query" : "mutation {
  enableLogCollectorInstanceDebugLogging(
      id: \"abc123\"
      url: \"https://lc.company.com\", 
      token: \"123abc456def789\", 
      level: \"high\", 
      repositoryName: \"humio\"
   )
}"
}
EOF
Mac OS or Linux (curl) One-line
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql \
    -H "Authorization: Bearer $TOKEN" \
    -H "Content-Type: application/json" \
    -d @- << EOF
{"query" : "mutation {
  enableLogCollectorInstanceDebugLogging(
      id: \"abc123\"
      url: \"https://lc.company.com\", 
      token: \"123abc456def789\", 
      level: \"high\", 
      repositoryName: \"humio\"
   )
}"
}
EOF
Windows Cmd and curl
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql ^
    -H "Authorization: Bearer $TOKEN" ^
    -H "Content-Type: application/json" ^
    -d @'{"query" : "mutation { ^
  enableLogCollectorInstanceDebugLogging( ^
      id: \"abc123\" ^
      url: \"https://lc.company.com\",  ^
      token: \"123abc456def789\",  ^
      level: \"high\",  ^
      repositoryName: \"humio\" ^
   ) ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  enableLogCollectorInstanceDebugLogging(
      id: \"abc123\"
      url: \"https://lc.company.com\", 
      token: \"123abc456def789\", 
      level: \"high\", 
      repositoryName: \"humio\"
   )
}"
}'
    "$YOUR_LOGSCALE_URL/graphql"
Perl
perl
#!/usr/bin/perl

use HTTP::Request;
use LWP;

my $TOKEN = "TOKEN";

my $uri = '$YOUR_LOGSCALE_URL/graphql';

my $query = "mutation {
  enableLogCollectorInstanceDebugLogging(
      id: \"abc123\"
      url: \"https://lc.company.com\", 
      token: \"123abc456def789\", 
      level: \"high\", 
      repositoryName: \"humio\"
   )
}";
$query =~ s/\n/ /g;
my $json = sprintf('{"query" : "%s"}',$query);
my $req = HTTP::Request->new("POST", $uri );

$req->header("Authorization" => "Bearer $TOKEN");
$req->header("Content-Type" => "application/json");

$req->content( $json );

my $lwp = LWP::UserAgent->new;

my $result = $lwp->request( $req );

print $result->{"_content"},"\n";
Python
python
#! /usr/local/bin/python3

import requests

url = '$YOUR_LOGSCALE_URL/graphql'
mydata = r'''{"query" : "mutation {
  enableLogCollectorInstanceDebugLogging(
      id: \"abc123\"
      url: \"https://lc.company.com\", 
      token: \"123abc456def789\", 
      level: \"high\", 
      repositoryName: \"humio\"
   )
}"
}'''

resp = requests.post(url,
                     data = mydata,
                     headers = {
   "Authorization" : "Bearer $TOKEN",
   "Content-Type" : "application/json"
}
)

print(resp.text)
Node.js
javascript
const https = require('https');

const data = JSON.stringify(
    {"query" : "mutation {
  enableLogCollectorInstanceDebugLogging(
      id: \"abc123\"
      url: \"https://lc.company.com\", 
      token: \"123abc456def789\", 
      level: \"high\", 
      repositoryName: \"humio\"
   )
}"
}
);


const options = {
  hostname: '$YOUR_LOGSCALE_URL',
  path: 'graphql',
  port: 443,
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Content-Length': data.length,
    Authorization: 'BEARER ' + process.env.TOKEN,
    'User-Agent': 'Node',
  },
};

const req = https.request(options, (res) => {
  let data = '';
  console.log(`statusCode: ${res.statusCode}`);

  res.on('data', (d) => {
    data += d;
  });
  res.on('end', () => {
    console.log(JSON.parse(data).data);
  });
});

req.on('error', (error) => {
  console.error(error);
});

req.write(data);
req.end();
Example Responses
Success (HTTP Response Code 200 OK)
json
{
  "data": {
    "enableLogCollectorInstanceDebugLogging": true
  }
}

Input Parameters

The following table lists the input parameters for this mutation.

Table: Input Parameters & Datatypes

Parameter Type Required Default Description
This table contains all input parameters for this mutation.
id String yes   The unique ID of the LogCollector instance.
level String yes   The debug logging level to apply to the instance, for example DEBUG or TRACE.
repositoryName String     The name of the repository associated with the LogCollector instance. If omitted, debug logging applies across all repositories.
token String yes   Authentication token for the LogCollector instance.
url String     The URL of the LogCollector instance endpoint. If omitted, the default URL configured for the deployment is used.