Skip to content

Simple and fast in-memory structure-agnostic logging management service designed for managing and serving logs coming from multiple users.

License

Notifications You must be signed in to change notification settings

xycloo/multiuser-logging-service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fast Multi-User In-Memory Logging Management Service

Important: Work in progress, don't use in a production environment unless you know what you're doing.

Simple and fast in-memory structure-agnostic logging management service designed for services that need to manage logs coming from multiple users.

The service must be run locally, any unauthorized access to the endpoints will lead to malicious users logging on behalf of other users. Make sure you are protected against SSRF if running along with other services.

Functionality

The service boils down to operating on a shared key-value store where the key is the user id and the value is the user logs object.

The service supports adding logs that implement a IsLog trait through a unified endpoint log/{user_id}. The service then understands which kind of log was submitted based on the log level, then loads it in the shared state assigning it also the associated system time.

Logs can either be retrieved in their own generic format wrapped in the LogWrapper object by specifying the error type, or through a unified endpoint that returns a Vec<ServiceLog> view.

Note also that logging for a user can be turned on and off using is_logging() or is_not_logging().

About

Simple and fast in-memory structure-agnostic logging management service designed for managing and serving logs coming from multiple users.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages