In order to enable verbose logging in your clients, please refer to the ClientOptions documentation at https://ably.com/documentation/realtime/usage#client-options and refer to the "logLevel" or "log" options.
You can see examples of how to enable verbose logs in the Ably SDKs client options
ably-js
ably-java
ably-go
ably-cocoa (swift)
ably-dotnet
ably-php
ably-python
ably-ruby (realtime)
ably-ruby (rest)
ably-flutter
laravel-broadcaster
ably-js
v1.x.x
var ably = new Ably.Realtime(
{ /* existing options */,
log: { level: 4 }
});
v2.x.x
var ably = new Ably.Realtime(
{ /* existing options */,
logLevel:4
});
ably-java
ClientOptions clientOptions = new ClientOptions();
/* existing options */
clientOptions.logLevel = Log.VERBOSE;
ablyRealtime = new AblyRealtime(clientOptions);
ably-go
client, err := ably.NewRealtime(/*existing options*/,ably.WithLogLevel(4))
if err != nil {
panic(err)
}
ably-cocoa (swift)
let clientOptions = ARTClientOptions();
/* existing options */
clientOptions.logLevel = .debug;
let realtime = ARTRealtime(options: clientOptions);
ably-dotnet
https://github.com/ably/ably-dotnet#enable-logging
ably-php
$clientOptions = array(
/* existing options */,
'logLevel' => 4, );
$ably = new \Ably\AblyRest($clientOptions);
ably-python
https://docs.python.org/3/library/logging.html
Tip: Add a formatter object to log timestamps eg.
formatter = logging.Formatter('%(asctime)s - %(message)s')
handler.setFormatter(formatter)
this will help if we need to correlate timestamps from the client with the ably realtime platform
import logging
import ably
ablyLog = logging.getLogger('ably')
ablyLog.setLevel(logging.DEBUG)
ablyLog.addHandler(logging.StreamHandler())
ably-ruby (realtime)
ably = Ably::Realtime.new(=begin existing client options =end, log_level: :debug)
ably-ruby (rest)
clientOptions = {=begin existing client options =end, log_level: :debug}
ably = Ably::Rest.new(client_options)
ably-flutter
import 'package:ably_flutter/ably_flutter.dart' as ably;
var clientOptions = ably.ClientOptions(/* existing client options */,
logLevel: ably.LogLevel.verbose);
laravel-broadcaster
Add logLevel to the broadcasting.php file
'ably' => [
'driver' => 'ably',
'key' => env('ABLY_KEY'),
'disable_public_channels' => env('ABLY_DISABLE_PUBLIC_CHANNELS', false),
'token_expiry' => env('ABLY_TOKEN_EXPIRY', 3600),
'logLevel' => 4
],