Node.js client library lightweigth for DCOS Logging API. ES6
Install
Install using npm or yarn
$ npm install dcos-logging-node
$ yarn add dcos-logging-node
const dcosLogging = require('../lib/index')(
{
dcosHost: 'DCOS_HOST',
dcosProtocol: 'https'
},{
headers: {
'Authorization': 'token=DCOS_ACCESS_TOKEN'
/*
You can get the access Token in the DCOS cli Using
$ dcos config show core.dcos_acs_token
*/
}
});
dcosLogging.range.get(null, 'text/plain', false, {skip_prev: 200, limit: 3})
.then(logs => console.log(logs))
.catch(err => console.error(err));
In the methods you will neet to discribe the Accept Header. The API request header can be any the following:
text/plain
,text/html
,*/*
request logs in text format, ending with\n
.application/json
request logs in JSON format.text/event-stream
request logs in Server-Sent-Events format.
You can get a readble Stream object from any end point in the Logging API
dcosLogging.range.get(null, 'text/event-stream', true)
.then((stream) => {
// Forces the stream to receive a String instead of a Buffer object
stream.setEncoding('utf-8');
// Event that receives data from DCOS
stream.on('data', (chunk) => {
// Printing the chunk received from the stream
console.log(chunk);
});
// Last chunk, it runs when the connection is closed
stream.on('end', () => {
// Here you do what you need when it ends...
});
// If for some reason we receive an error while connected, we can handle it here
stream.on('errror', (err) => {
// Error handling...
})
}).catch((err) => console.log(err));
Note: If the AcceptHeader is
text/event-stream
you will need to set theRequestStream
param to false
get(agentId, acceptHeader, requestStream, parameters)
download(agentId, acceptHeader, requestStream, parameters)
framework(agentId,frameworkId, executorId, containerId, acceptHeader, requestStream, parameters)
frameworkDownload(agentId, frameworkId, executorId, containerId, acceptHeader, requestStream , parameters)
get(agentId, AcceptHeader, requestStream, parameters)
framework(agentId, frameworkId, executorId, containerId, acceptHeader, requestStream)
get(agentId, field, acceptHeader, requestStream, parameters)