Skip to main content
Skip table of contents

Update the logging configuration: Server.SetLog

The method and parameters

The method updates the logging configuration at runtime.

string Server.SetLog (StdoutObject stdout, FileObject file, RemoteObject remote, SyslogObject syslog)

The parameters

StdoutObject stdout – configures logging to stdout.

object StdoutObject

string stdout.pattern = [%Timestamp] %Message – the logging pattern. Available flags:

  • %Timestamp – the message timestamp

  • AppId – the component identifier

  • Tag – the instance identifier of the component.

  • %Verbose – the logging level.

  • %Message – the message itself.

  • %EscMessage – the escaped message with escape characters, used for JSON patterns.


string stdout.tag = media-server – a global logging tag


number stdout.verbose = 3 – the logging level


FileObject file – defines the configuration for logging to a file

object FileObject

number file.number = 3 – specifies how many log files are kept


string file.path = /tmp/test.log – a path to the log file


string file.pattern = [%Timestamp] %Message – a logging pattern


number file.rotate = 8192 – specifies the file size in bytes that triggers log rotation


string file.tag = media-server – a global tag for logging


number file.verbose = 3 – a log level


RemoteObject remote – defines the configuration for remote logging

object RemoteObject

url remote.path = udp://localhost:8109 – the address of the remote logger for sending messages


string remote.pattern = {"tag":"%Tag","verbose":"%Verbose","timestamp":"%Timestamp","app_id":"%AppId","message":"%EscMessage"} – the pattern used for logging


string remote.tag = media-server– the global tag used for logging


number remote.verbose = 3– a log level


SyslogObject syslog – defines the configuration for logging to syslog

object SyslogObject

string syslog.facility = local0 – the message facility (category)


string syslog.pattern = [%Timestamp] %Message – the pattern used for logging


string syslog.tag = media-server –the global tag used for logging


number syslog.verbose = 3 – a log level


POST /api/

JSON-RPC
JSON
{
    "jsonrpc": "2.0",
    "method": "Server.SetLog",
    "params": {
        "stdout": {
            "tag": "media-server",
            "verbose": 3,
            "pattern": "[%Timestamp] %Message"
        },
        "file": {
            "tag": "media-server",
            "verbose": 3,
            "pattern": "[%Timestamp] %Message",
            "path": "/tmp/test.log",
            "rotate": 8192,
            "number": 3
        },
        "remote": {
            "tag": "media-server",
            "verbose": 3,
            "pattern": "{\"tag\":\"%Tag\",\"verbose\":\"%Verbose\",\"timestamp\":\"%Timestamp\",\"app_id\":\"%AppId\",\"message\":\"%EscMessage\"}",
            "path": "udp://localhost:8109"
        },
        "syslog": {
            "tag": "media-server",
            "verbose": 3,
            "pattern": "[%Timestamp] %Message",
            "facility": "local0"
        }
    },
    "id": 1
}
cURL
BASH
curl -k --request POST \
	--url 'https://your-domain/api/' \
	--header 'Content-Length: 913' \
	--header 'Content-Type: application/json' \
	--header 'Accept: application/json' \
	--header 'Authorization: Bearer <api-authorization-token>' \
	--header 'Content-Length: <Content length>' \
	--data '{
    "jsonrpc": "2.0",
    "method": "Server.SetLog",
    "params": {
        "stdout": {
            "tag": "media-server",
            "verbose": 3,
            "pattern": "[%Timestamp] %Message"
        },
        "file": {
            "tag": "media-server",
            "verbose": 3,
            "pattern": "[%Timestamp] %Message",
            "path": "/tmp/test.log",
            "rotate": 8192,
            "number": 3
        },
        "remote": {
            "tag": "media-server",
            "verbose": 3,
            "pattern": "{\"tag\":\"%Tag\",\"verbose\":\"%Verbose\",\"timestamp\":\"%Timestamp\",\"app_id\":\"%AppId\",\"message\":\"%EscMessage\"}",
            "path": "udp://localhost:8109"
        },
        "syslog": {
            "tag": "media-server",
            "verbose": 3,
            "pattern": "[%Timestamp] %Message",
            "facility": "local0"
        }
    },
    "id": 1
}'
PHP
PHP
$data = array (
  'jsonrpc' => '2.0',
  'method' => 'Server.SetLog',
  'params' => 
  array (
    'stdout' => 
    array (
      'tag' => 'media-server',
      'verbose' => 3,
      'pattern' => '[%Timestamp] %Message',
    ),
    'file' => 
    array (
      'tag' => 'media-server',
      'verbose' => 3,
      'pattern' => '[%Timestamp] %Message',
      'path' => '/tmp/test.log',
      'rotate' => 8192,
      'number' => 3,
    ),
    'remote' => 
    array (
      'tag' => 'media-server',
      'verbose' => 3,
      'pattern' => '{"tag":"%Tag","verbose":"%Verbose","timestamp":"%Timestamp","app_id":"%AppId","message":"%EscMessage"}',
      'path' => 'udp://localhost:8109',
    ),
    'syslog' => 
    array (
      'tag' => 'media-server',
      'verbose' => 3,
      'pattern' => '[%Timestamp] %Message',
      'facility' => 'local0',
    ),
  ),
  'id' => 1,
);
$context = stream_context_create([
	'ssl'=>['verify_peer' => false],
	'http' => [
		'method' => 'POST',
		'header' => "Content-Type: application/json\r
Accept: application/json\r
Authorization: Bearer <api-authorization-token>\r
Content-Length: <Content length>",
		'content'=>json_encode($data)
	]
]);
$result = file_get_contents('https://your-domain/api/', false, $context);

200 OK

bool – the result of the operation execution result.

JSON
true

400 Bad Request

The JSON-RPC error

JSON
{
    "error": {
        "code": -32601,
        "message": "Method not found"
    }
}

500 Internal Server Error

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.