Virtuin remote logging service to AWS CloudWatch
npm install @samtec-ash/virtuinloggingVirtuin Logging is used to push logs to AWS CloudWatch to monitor all aspects of active test on workstation.
The logging service logs to two transports Console (stdout/stderr) and CloudWatch.
There are 5 levels of logs:
* error ( _highest_ )
* warn
* info
* debug
* silly ( _lowest_ )
By default, Console transport will be used for levels __debug__ and up with __debug__ and __error__ going to stderr.
By default, CloudWatch transport will be used for levels __info__ and up.
#### Building
``bash`
yarn run prepublish
#### Publishing
`bash`
yarn publish
#### Prerequisites
`bashInstall AWS cli
pip install awscli --upgrade --user
#### Installation
`bash
Add package to project
yarn add @samtec-ash/virtuinlogging
`#### Example
##### es2016 w/ Async/await :
`javascript
import { VirtuinLogger } from '@samtec-ash/VirtuinLogging';const logger = new VirtuinLogger();
const config = {
test: {
testUUID: '123456789' // Required
},
station: {
name: 'StationDebug', // Required
debug: true // Optional
},
dut: {
partNumber: 'P12345', // Optional
serialNumber: 'S12345' // Optional
}
};
let success;
if (await logger.open(config)) {
success = await logger.log('Connected to CloudWatch Logs!', 'info');
success = await logger.log('Some warning message', 'warn');
const status = logger.status();
logger.clear();
success = await logger.close();
console.log("Done!");
}
`##### es2015:
`javascript
"use strict";var _VirtuinLogging = require("@samtec-ash/VirtuinLogging");
var logger = new _VirtuinLogging.VirtuinLogger();
var config = {
test: {
testUUID: "123456789" // Required
},
station: {
name: "debug_station", // Required
debug: true // Optional
},
dut: {
partNumber: "P12345", // Optional
serialNumber: "S12345" // Optional
}
};
Promise.resolve()
.then(function() {
return logger.open(config);
})
.then(function(rst) {
return logger.log("Connected to CloudWatch Logs!");
})
.then(function(rst) {
return logger.log("Some warning message", "warn");
})
.then(function(rst) {
const status = logger.status();
logger.clear();
return logger.close();
})
.finally(function(rst) {
console.log("Done!");
});
``The autogenerated API can be accessed in following mediums:
* HTML
* API MD