@samtec-ash/virtuinlogging

0.9.15 • Public • Published

Virtuin Logo Virtuin Logging

Overview

Virtuin 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.

Development

Building

yarn run prepublish

Publishing

yarn publish

Usage

Prerequisites

# Install AWS cli
pip install awscli --upgrade --user

# Configure AWS
## Method 1: Prompt
aws configure
## Method 2: No Prompt
echo -ne '
[default]
aws_access_key_id = AWS_ACCESS_KEY_ID
aws_secret_access_key = AWS_SECRET_ACCESS_KEY
' > ~/.aws/credentials
echo -ne '
[default]
region = us-east-2
output = json
' > ~/.aws/config

Installation

# Add package to project
yarn add @samtec-ash/virtuinlogging

Example

es2016 w/ Async/await :
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:
"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!");
  });

API

The autogenerated API can be accessed in following mediums:

/@samtec-ash/virtuinlogging/

    Package Sidebar

    Install

    npm i @samtec-ash/virtuinlogging

    Weekly Downloads

    2

    Version

    0.9.15

    License

    MIT

    Unpacked Size

    22.5 kB

    Total Files

    18

    Last publish

    Collaborators

    • nelson_a_penn_samtec
    • julianlechner
    • nathanpage
    • adamtec
    • virtchris