#logging #client #cloud

plurid_delog

client for centralized logging on a delog server

1 unstable release

0.0.0 Jun 22, 2021

#299 in #cloud

Custom license

16KB
158 lines



License: DEL

delog

Cloud Service for Centralized Logging

delog is a service or self-hosted logger.

delog is intended to be:

  • centralized, single logging space for multi-project/multi-package software systems;
  • log-based testing controller;
  • warn/error notifier.

delog has clients for:

The delog-server uses plurid to explore information as a 3D structure.

analytics

projects

exploration to log source

Contents

About

delog acts as a central logging service. Once configured with a token, the delog client can point to the network endpoint, passing the token.

delog can also function as a log-based tester. The delog client is set in the testing mode and a delog client call will trigger a tester in the delog endpoint.

Client

Support

delog has client support for

Configuration

The following environment variables can be set

// quiets the delog's error reporting
DELOG_QUIET = true | false

// any delog will be checked against this level
DELOG_GROUND_LEVEL = 0-7 | trace-fatal

// format string, default '%TIME %TEXT'
DELOG_FORMAT = string

// delog server endpoint
DELOG_ENDPOINT = string
// delog server token
DELOG_TOKEN = string

// project name
DELOG_PROJECT = string
// space name
DELOG_SPACE = string


// calling details
DELOG_CALL_CONTEXT = true | false
DELOG_REPOSITORY_PROVIDER = string
DELOG_REPOSITORY_NAME = string
DELOG_REPOSITORY_COMMIT = string
DELOG_REPOSITORY_BRANCH = string
DELOG_REPOSITORY_BASEPATH = string

Server

Building

docker build \
    -t delog-server \
    -f ./configurations/production.dockerfile \
    --build-arg PORT=56965 \
    --build-arg DELOG_ENDPOINT_GRAPHQL=/ \
    --build-arg DELOG_DATABASE_TYPE=mongo \
    --build-arg DELOG_LOG_LEVEL=0 \
    --build-arg DELOG_QUIET=false \
    --build-arg DELOG_CUSTOM_LOGIC_USAGE=false \
    --build-arg DELOG_PRIVATE_USAGE=true \
    --build-arg DELOG_PRIVATE_OWNER_IDENTONYM=identonym \
    --build-arg DELOG_PRIVATE_OWNER_KEY=key \
    --build-arg DELOG_PRIVATE_TOKEN=secret-token \
    --build-arg DELOG_MONGO_USERNAME=admin \
    --build-arg DELOG_MONGO_PASSWORD=1234 \
    --build-arg DELOG_MONGO_ADDRESS=localhost:56966 \
    --build-arg DELOG_MONGO_CONNECTION_STRING= \
    --build-arg DELOG_TEST_MODE=true \
    --build-arg DELOG_OPTIMIZATION_BATCH_WRITE_SIZE=1000 \
    --build-arg DELOG_OPTIMIZATION_BATCH_WRITE_TIME=2000 \
    .

Run the container with --network="host" if running the database on the same host.

docker run \
    --network="host" \
    -d delog-server

Or run on a custom port (8855)

docker run \
    -d -p 8855:56965 \
    delog-server

Testing

The delog server can use MongoDB as a database. For testing purposes, mongo can run in a docker container.

docker pull mongo
docker run -d --name mongo-delog \
    -p 56966:27017 -e MONGO_INITDB_ROOT_USERNAME=admin \
    -e MONGO_INITDB_ROOT_PASSWORD=1234 mongo

Connect to the mongo instance with

mongodb://admin:1234@localhost:56966/?authSource=admin

to verify the connection.

Packages

Version

@plurid/delog-server • the server application

Version

@plurid/delog-client-cli • the Command-Line Interface client

Version

@plurid/delog-client-javascript • the NodeJS client

Version

@plurid/delog-client-python • the Python client

Version

@plurid/delog-client-rust • the Rust client

Codeophon

Dependencies

~7–19MB
~255K SLoC