Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/thalesfsp/sypl
- Owner: thalesfsp
- License: mit
- Created: 2022-09-03T01:05:50.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2023-10-31T02:26:31.000Z (about 1 year ago)
- Last Synced: 2024-06-21T19:58:48.301Z (5 months ago)
- Topics: concurrency, concurrent, go, golang, logger, multithread, non-blocking, text-processing
- Language: Go
- Homepage: https://github.com/thalesfsp/sypl
- Size: 240 KB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
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).