A lightweight, modular log processor with flow-based configuration.
- Flow-based log processing model
- Dynamic component loading
- Support for various input sources (Unix socket, file, flow chaining)
- Multiple parser types (RFC 3164, regex, passthrough)
- Flexible output options (file, TCP, memory for flow chaining)
- JSON-formatted logs
- Systemd service integration
- Clean, modern design without legacy syslog terminology
- Python 3.8 or higher
- pip3
- git
- Clone the repository:
git clone https://github.com/pysyslog/pysyslog-lfc.git
cd pysyslog-lfc- Run the installation script:
sudo ./install.sh- Clone the repository:
git clone https://github.com/pysyslog/pysyslog-lfc.git
cd pysyslog-lfc- Run the installation script as administrator:
install.bat- Clone the repository:
git clone https://github.com/pyyslog/pysyslog-lfc.git
cd pysyslog-lfc- Create a virtual environment:
python3 -m venv venv
source venv/bin/activate  # Linux/macOS
venv\Scripts\activate     # Windows- Install dependencies:
pip install -r requirements.txt- Install in development mode:
pip install -e .For detailed configuration documentation, see:
Start PySyslog LFC:
# Linux/macOS
sudo pysyslog
# Windows
pysyslogsudo systemctl start pysyslog
sudo systemctl stop pysyslog
sudo systemctl restart pysyslog
sudo systemctl status pysyslogsudo launchctl start com.pysyslog
sudo launchctl stop com.pysyslog
sudo launchctl unload /Library/LaunchDaemons/com.pysyslog.plist
sudo launchctl load /Library/LaunchDaemons/com.pysyslog.plistnet start pysyslog
net stop pysyslogsudo journalctl -u pysyslog -fsudo log show --predicate 'process == "pysyslog"' --last 5mGet-EventLog -LogName Application -Source pysyslogpysyslog-lfc/
├── bin/                    # Executable scripts
├── docs/                   # Documentation
│   └── configuration/      # Configuration docs
├── etc/                    # Configuration files
│   ├── pysyslog/
│   │   ├── main.ini
│   │   └── conf.d/
│   ├── systemd/           # Linux service files
│   ├── launchd/           # macOS service files
│   └── windows/           # Windows service files
├── lib/                    # Python package
│   └── pysyslog/
│       ├── __init__.py
│       ├── main.py
│       ├── config.py
│       ├── flow.py
│       ├── components.py
│       ├── inputs/         # Input components
|       ├── filters/        # Filter components
│       ├── parsers/        # Parser components
│       └── outputs/        # Output components
├── install.sh             # Linux/macOS installation script
├── install.bat            # Windows installation script
├── requirements.txt       # Python dependencies
└── setup.py              # Python package setup
- Create a new component file in the appropriate directory:
- inputs/for input components
- filters/for filter components
- parsers/for parser components
- outputs/for output components
 
- Implement the required interface
- Add the component to the componentslist inmain.ini
MIT License - see LICENSE file for details.