LogWatchdog
LogWatchdog is a powerful real-time log monitoring solution that detects exceptions and errors in log files, providing instant alerts through multiple notification channels.
🚀 Features
- Real-time Log Monitoring: Monitor single files, multiple files, or entire folders
- Smart Exception Detection: Configurable keywords for error detection
- Multi-channel Notifications:
- Custom flash popups (executables)
- System tray notifications (script mode)
- Email alerts with batch processing
- Console output with detailed logging
- Auto-configuration: Creates default config files automatically
- Standalone Executable: No Python installation required on target systems
- Batch Email Processing: Groups multiple errors from same file into single email
- File Discovery: Automatic detection of new log files
- Windows Optimized: Designed specifically for Windows 10/11 systems
📋 Requirements
- Python 3.7+
- Windows 10/11 (primary target)
🛠️ Installation
Option 1: Standalone Executable (Recommended)
- Download the latest
LogWatchdog.exefrom releases - Run the executable - it will create default configuration automatically
- Configure your settings in the generated
log_config.inifile
Option 2: From Source
git clone https://github.com/pandiyarajk/logwatchdog.git
cd logwatchdog
pip install -r requirements.txt
Option 3: Build Your Own Executable
# Install dependencies
pip install -r requirements.txt
# Build executable
python build_exe.py
# Or use the simple batch file
build.bat
🚀 Quick Start
1. Run the Application
For Executable:
# Just run the executable - it creates config automatically
LogWatchdog.exe
For Script:
python -m logwatchdog.main
2. Auto-Generated Configuration
The application automatically creates log_config.ini with sensible defaults:
# LogWatchdog Configuration File
# =============================
# This file was automatically created by LogWatchdog.
# Modify the values below to customize your monitoring setup.
[monitoring]
monitor_mode = folder
log_folder_path = C:\path\to\execution\directory\logs
log_file_extensions = *.log,*.txt,*.evtx
file_discovery_interval = 30
empty_monitor_delay = 10
[notifications]
email_enabled = false
smtp_server = smtp.gmail.com
smtp_port = 587
receiver_group = admin@company.com
system_tray_notifications = true
batch_email_enabled = true
[alerts]
exception_keywords = Exception,Error,Failure,Fail,Fatal,Issue,Crash,Close,Cannot,Wrong,unsupported,not found,retry,terminated,disconnected
3. Email Setup (Optional)
Create .env file for email notifications:
EMAIL_USER=your-email@gmail.com
EMAIL_PASSWORD=your-app-password
Security Note: Never commit the .env file to version control.
📁 Monitoring Modes
- Single File: Monitor one specific log file
- Multiple Files: Monitor multiple specific log files simultaneously
- Folder: Monitor all log files in a folder with automatic file detection
🔧 Configuration
Main Settings (log_config.ini)
- Monitoring: Mode, file paths, discovery intervals
- Notifications: Email settings, batch processing, system alerts
- Alerts: Exception keywords and detection rules
Email Credentials (.env)
EMAIL_USER: Your email addressEMAIL_PASSWORD: Your email password or app password
🎯 Key Features Explained
Smart Notifications
For Executables:
- Flash Popup: Custom red popup that auto-closes after 3 seconds
- Taskbar Flashing: Console window flashes 3 times
- System Sound: Windows beep plays with alerts
- Console Output: Detailed logging information
For Scripts:
- System Tray: Native Windows toast notifications
- Fallback Support: Graceful degradation if notifications fail
Batch Email Processing
- Groups Errors: Multiple errors from same file = single email
- Rich Content: Error count, timestamps, detailed information
- Configurable: Can be disabled via
batch_email_enabled = false
Auto-Configuration
- Creates Config: Automatically generates
log_config.iniif missing - Sensible Defaults: Works out-of-the-box with minimal setup
- Path Resolution: Smart detection of execution directory vs script directory
🛠️ Build Scripts
build_exe.py - Advanced Build Script
- Dependency checking with proper package mapping
- Clean build artifacts before building
- Hidden imports for all modules
- Data file inclusion (config files, README, etc.)
- Debug mode for troubleshooting
- Installer script generation
build.bat - Simple Windows Batch File
- Automatic dependency installation
- User-friendly interface
- Error handling
📚 Documentation
- User Guide: See the code comments and configuration examples
- Issues: GitHub Issues
- Support: pandiyarajk@live.com
🤝 Contributing
We welcome contributions! Please see CONTRIBUTING.md for details.
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🔄 Changelog
See CHANGELOG.md for version history.
Made with ❤️ by Pandiyaraj Karuppasamy
LogWatchdog - Your Windows Log Monitoring Companion
Metadata
Release files for logwatchdog 1.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| logwatchdog-1.0.2.tar.gz | 21.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| logwatchdog-1.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 42.1 kB
Release files / logwatchdog-1.0.2.tar.gz
| Download URL | logwatchdog-1.0.2.tar.gz |
|---|---|
| Size | 21.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c196f0b920f04a158bb706af6aa84e9e6d5dbe967b9e15461da8ffa867bc2a50
|
|
BLAKE2b-256 checksum How to use checksums |
5b55d9bd44eb76afa00b39ce876827ee56ed7b715731d5df10f6844cca81b28f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.5
|
Release files / logwatchdog-1.0.2-py3-none-any.whl
| Download URL | logwatchdog-1.0.2-py3-none-any.whl |
|---|---|
| Size | 21.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0e5c3b8004c9d40c0409b7d66becf0c10e8d596c1aa7b541432d0b12ae184229
|
|
BLAKE2b-256 checksum How to use checksums |
423dbf53cae6c95525597ecbd7571f8a1049d787908037f66187d1f0e0fdfb3e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.5
|
Security for logwatchdog 1.0.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.