๐ชต LogMate Flutter Package
LogMate is a Flutter package that helps developers track and monitor logs remotely from their apps. Logs are stored securely on a Supabase backend and can be viewed from a web dashboard in real-time. It's perfect for debugging, monitoring, or error reporting.
โจ What Does It Do?
- Allows you to send logs (like errors, warnings, debug info, etc.) from any Flutter app
- Helps you monitor logs remotely on a centralized web dashboard
- Offers filtering, severity levels, and secure app-level access
- Works without requiring user login in your app
Show some love and like to support the project
Say Thanks Here
๐ How to Use LogMate
โ Step 1: Register & Create App
- Visit the LogMate Web Dashboard
- Register and log in as a user
- Click "Create New App" to register your app
- Copy the API_KEY provided for your app โ this will be used in your Flutter app
๐ฆ Step 2: Install LogMate Package
In your Flutter app, add the following to your pubspec.yaml
:
$ flutter pub add logmate
Then run:
flutter pub get
Platform Support
Android | iOS | MacOS | Web | Linux | Windows |
---|---|---|---|---|---|
โ๏ธ | โ๏ธ | โ๏ธ | โ๏ธ | โ๏ธ | โ๏ธ |
๐ Step 3: Initialize LogMate with API Key
In your appโs main()
function or before you want to send any logs:
import 'package:logmate/logmate.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await LogMate.instance.initialize(appApiKey: 'YOUR_API_KEY_FROM_DASHBOARD');
runApp(MyApp());
}
๐ Step 4: Send Logs from Anywhere in Your App. Using await is optional. It will return true if log was sent successfully, false otherwise.
Call sendLog()
wherever you want to log something:
/// Basic
await LogMate.instance.sendLog(message: 'Login Failed');
/// Enhanced
await LogMate.instance.sendLog(
message: 'Login Failed',
description: 'Exception: No user found with given email.',
severity: LogSeverity.error, // Choose from: info, warning, error, critical
);
๐งช Example Use Cases
// For info messages
await LogMate.instance.sendLog(message : 'Info Message', description: 'This is a info log', severity: LogSeverity.info);
// For warnings
await LogMate.instance.sendLog(message : 'Slow Network', description: 'Network response > 5s', severity: LogSeverity.warning);
// For critical crashes
await LogMate.instance.sendLog(message : 'Crash Report', description: 'App crashed on login screen', severity: LogSeverity.critical);
๐ Security First
- Only app owners (users who created the app) can view and manage logs via the dashboard
๐ป Web Dashboard Features
- User registration & login
- Create multiple apps per user
- Get and manage unique API keys
- View logs with filtering (severity/date)
๐ License
MIT License
Made with โค๏ธ using Flutter & Supabase