Minimum Required Configuration¶
Configuring Telemetry log collection¶
You have now power to influence log data you're receiving from the SDK starting with SDK version 8.0.0 and also data that are collected by SDK itself.
Use this power wisely so we can provide you the best possible support available.
There are multiple appenders available in the SDK you can choose from:
- CConsoleAppender
- CScreenAppender
- CFileAppender
- CSocketAppender
- TelemetryAppender
- DiagnosticsAppender
And now a brief word about each of them
CConsoleAppender¶
This is native platform diagnostics log output. In case of Android it's logcat, for iOS it's NSLog
and for
Windows it's OutputDebugString
.
CScreenAppender¶
It's direct output to 3D map view. This output must be enabled via imgui user interface.
CFileAppender¶
It's general file output. Writing in append mode can be set by one of configuration setting. File is not rotational.
CSocketAppender¶
This is HTTP connection appender for internal feature called "remote control." No further information are available.
TelemetryAppender¶
Logs are instantly sending to telemetry URL via HTTP(S). This appender is using when you don't have control on running device and therefore you can't download or analyze local logs from file or console appenders.
DiagnosticsAppender¶
This is forwarder to signal (callback) on platform interface and host app can receive any logs from SDK for
any purpose, e.g. writing to Crashlytics data.
You need to use this appender to be able to receive the logs from LogConnector
's callbacks.
Configuration¶
This is example of minimal required JSON configuration file content
{
"Authentication": {
"app_key": "[YOUR_KEY]",
"app_secret": "[YOUR_SECRET]"
},
"Logging": [
{
"name": "global",
"classpath": "",
"appenders": [
{
"class": "CConsoleAppender",
"format": "%levshort %datetime %msg\n",
"level": "debug",
"time": "%FT%T%z"
},
{
"class": "CScreenAppender",
"format": "%levshort: %msg\n",
"level": "warn"
},
{
"class": "CFileAppender",
"format": "%levshort %datetime %msg\n",
"time": "%FT%T%z",
"level": "debug",
"file": "global.log",
"append": false,
"flush": 100
},
{
"class": "CSocketAppender",
"format": "%msg",
"level": "trace"
},
{
"class": "TelemetryAppender",
"format": "%levshort %datetime %msg\n",
"time": "%FT%T%z",
"level": "debug",
"url": "[address-provided-on-request]",
"auto_send": true,
"log_chunk_size_kb": 256,
"lifetime_days": 14,
"lifetime_size_mb": 10,
"username": "[login-provided-on-request]",
"password": "[password-provided-on-request]"
},
{
"class": "DiagnosticsAppender",
"format": "%levshort %datetime %msg\n",
"time": "%FT%T%z",
"level": "ProcedureCall"
}
]
}
]
}