Solution Debug logs
Connectivity Platform provides different debugging tools which includes Solution debug logging allowing user to track events and errors occurring in a Connectivity Platform solution.
The Connectivity Platform user-interface or client tool provides real-time logs information described in details in this document.
Log Format
Logs are provided in a standardized JSON and follow the following structure. Examples available in next chapter.
Fields common to all logs
| Field Name | Type | Example | Description | 
|---|---|---|---|
| severity | ENUM( 0, # Emergency: system is unusable,1, # Alert: action must be taken immediately,2, # Critical: critical conditions,3, # Error: error conditions,4, # Warning: warning conditions,5, # Notice: normal but significant condition,6, # Informational: informational messages,7, # Debug: debug-level messages ) | 0 | Severity of the log entry as defined by rsyslog standard. | 
| type | ENUM( "script","call","event","config","service") | "script" | The type of the log entry as defined in next chapter. "script"- User Lua "print()" function call"call"- On service calls from Lua."event"- On event trigger from services"config"- On solution configuration change or used service deprecation warning."service"- Services generated & transmitted to Dispatcher. | 
| message | string | "RequestURL:https://someapp.apps.<ROOT-DOMAIN>/notifications-miniviewRequest Method:GETStatus Code:200 OKRemote Address:45.56.95.64:443" | Plain text field describing the log entry event. | 
| service | string | "webservice" | The service via which the event name is coming or the service of which the function is called. | 
| event | string | "request" | Depending on the type: - Event, Script => The event name - Call => The operation name | 
| timestamp | integer | 1474489282537 | Timestamp in milliseconds | 
| tracking_id | string | Ex. UUID | Tracking id following a Connectivity Platform execution including: the event trigger, script execution and service calls. | 
| data | JSON | {"custom data": ..} | Type specific data | 
Different Type of Logs
The following type of logs are available: * Scripting ("script") - Scripting generated entry by a Lua "print(..)" or "log.xxx(..)" statement. * Service call ("call") - Service operation call information. * Event trigger ("event") - Log related to event triggering routing. * Configuration ("config") - Occurs when the Connectivity Platform solution is updated. * Service specific ("service") - Log generated by Service configured for the Solution.
Type specific information described in this chapter are provided under the "data" field.
| Field Name | Type | Example | Description | Log Types | 
|---|---|---|---|---|
| request | any | {} | The content of the request call | call, event | 
| response | any | {} | The content of the response | call, event | 
| code | integer | 404 | HTTP Status Code results | call, event, [config], [service] | 
| elapsed | integer | 1230 | Elapsed time in milliseconds. Depending on the type. - Event: Trigger duration - Script: Processing duration so far - Webservice: Request duration | event, script, call, service(webservice) | 
| module | string | utils | The affected lua module or eventhandler This field only support direct query matching and doesn't support special operators! | [script], [config] | 
| section | string ( <method>:<path>) | get_/api/v1/users | If available script section within the module or eventhandler. Example: Webservice endpoint. This field only support direct query matching and doesn't support special operators! | script | 
| location | string | module/md5:512 | Indicates module or eventhandler followed by sub-section and relative line number to the log emitter. This field cannot be queried! | script | 
Examples
Script
Lua 'print("abc")' or 'log.info("abc")'
{
  "type": "script",
  "timestamp": 1474489282537,
  "severity": 6, // info
  "message": "abc",
  "tracking_id": "<UUID>",
  "service": "webservice",
  "event": "request",
  "data": { // Type specific
    "section": "get_/index",
    "module": "webservice_request",
    "location": "event/webservice_request:195 get_/index:123",
    "elapsed": 10
  }
}
Service Call
Keystore.get({key="abc"}) call failed.
{
  "type": "call",
  "timestamp": 1474489282537,
  "severity": 3, // error
  "message": "Service Call failed with error: timeout",
  "tracking_id": "<UUID>",
  "service": "keystore",
  "event": "get", // The operation id
  "data": { // Type specific
    "request": {..},
    "response": {..},
    "code": 504
   }
}
Service Event triggered
Timer timer event trigger failed.
{
  "type": "event",
  "timestamp": 1474489282537,
  "severity": 3, // error
  "message": "Event trigger failed with: event handler not found",
  "tracking_id": "<UUID>",
  "service": "timer",
  "event": "timer",
  "data": { // Type specific
    "request": <incoming payload>,
    "response": <lua response payload>,
    "code": 404
  }
}
Config
A {
  "severity": 5,
  "timestamp": 1513159931988,
  "type": "config",
  "service": <service>,
  "event": <event>,
  "tracking_id": <tracking_id>,
  "message": "<Eventhandler|Serviceconfig|Module|Route> <name> added to Solution.",
  "data": {
    "id": "62cbcb50-0a4e-11e8-878e-1fdda701bd48",
    "name": <name>,
    "script_key": <script_key> //only for Serviceconfig
  }
}