Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/thalesfsp/sypl

Simple Yet Powerful Logger
https://github.com/thalesfsp/sypl

concurrency concurrent go golang logger multithread non-blocking text-processing

Last synced: 8 days ago
JSON representation

Simple Yet Powerful Logger

Awesome Lists containing this project

README

        

# sypl

[![Go](https://github.com/thalesfsp/sypl/actions/workflows/go.yml/badge.svg)](https://github.com/thalesfsp/sypl/actions/workflows/go.yml)

`sypl` provides a **S**imple **Y**et **P**owerful **L**ogger built on top of the Golang sypl. A sypl logger can have many `Output`s, and each `Output` is responsible for writing to a specified destination. Each `Output` can have multiple `Processor`s, which run in isolation manipulating the log message. The order of execution is important, and is according to the registering (add) order. These features allow `sypl` to fit into many different logging flows.

## Install

`$ go get github.com/thalesfsp/sypl`

### Specific version

Example: `$ go get github.com/thalesfsp/[email protected]`

## Usage

See [`example_test.go`](example_test.go), and [`sypl_test.go`](sypl_test.go) file.

### Documentation

Run `$ make doc` or check out [online](https://pkg.go.dev/github.com/thalesfsp/sypl).

## How it works

A picture worth thousand words.

![high-level-arch](resources/sypl.svg)

## Development

Check out [CONTRIBUTION](CONTRIBUTION.md).

### Release

1. Update [CHANGELOG](CHANGELOG.md) accordingly.
2. Once changes from MR are merged.
3. Tag and release.

## Roadmap

Check out [CHANGELOG](CHANGELOG.md).