Application that retrieves logs from systems that aren’t natively supported by Google SecOps
Project description
LogReel
An open-source logging utility for reliable API-to-API log transport with modular plugin support.
LogReel is authored by Simone Roma, governed as a benevolent dictatorship, and distributed under license.
Introduction
Some APIs don't support natively certain types of logs. To overcome this problem, LogReel allows the user to leverage a scalable and plugins based architecture on pre-defined interfaces. This is done in a secure and reliable way, allowing the target API to consume your stored logs.
Features
- Fetch the data from custom data sources, based on the available API.
- Reliable, thanks to its own mechanism that collect the logs starting from a precise snapshot, storing the previous location.
- Quicly checks the status of your plugins, feature available through the /health endpoint.
- LogReel has the capacity of auto discoverability. Whenever a plugin is available, LogReel can automatically discover it and integrate it.
Installation
Install using poetry (if not installed pip install poetry), and then install the dependencies poetry install.
Add the LogReel dependency in your plugin
LogReel component is reusable and needs to be added as a dependency in your plugins' repository through PyPI. Reference the LogReel package in your pyproject.toml plugins' repository.
How to make a plugin discoverable by the LogReel
You must register the plugin using entry points in your pyproject.toml. This mechanism allows the LogReel component to dynamically load plugins by name and group using the entry_points API.
[tool.poetry]
name = "example-plugin"
version = "1.0.0"
description = "An example plugin for the core component"
authors = ["User <user@example.com>"]
[tool.poetry.dependencies]
python = "^3.10"
logreel = "^0.1.0"
[tool.poetry.plugins."plugin_group_name"]
plugin_name = "module_path:PluginClass"
- plugin_group_name: The group under which the plugin is registered (e.g., logreel.sources or logreel.destinations).
- plugin_name: The name by which the plugin will be referenced.
- module_path: The Python module where the plugin class resides.
- PluginClass: The name of the plugin class to load.
Versioning
Releases will follow semantic versioning (major.minor.patch). Before 1.0.0 breaking changes can be included in a minor release, therefore we highly recommend pinning this package.
Contributing
Suggest a feature or report a bug. Read our developer guide.
License
pytest-netconf is distributed under the Apache 2.0 license.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file logreel-0.1.0-py3-none-any.whl.
File metadata
- Download URL: logreel-0.1.0-py3-none-any.whl
- Upload date:
- Size: 18.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7d395859afa22c7f885e1dd1ca813c71a2d642e045e8999c5c2fd719ae362aa6
|
|
| MD5 |
3c06ebb7d75cbdd1ca63be5f985fa4df
|
|
| BLAKE2b-256 |
1ab11b2ae00edd544a8c948b8c95cd28ba41c35f479905b57991b50fcb0f3552
|