Skip to main content

activity_logger 0.1.1 copy "activity_logger: ^0.1.1" to clipboard
activity_logger: ^0.1.1 copied to clipboard

A lightweight, structured application activity logger for Dart and Flutter applications.

example/lib/main.dart

import 'package:activity_logger/activity_logger.dart';
import 'package:flutter/material.dart';

/// A custom in-memory [LogSink] example.
class MemoryLogSink implements LogSink {
  /// Accumulated log entries stored in memory.
  final List<LogEntry> logs = [];

  @override
  void write(LogEntry entry) {
    logs.add(entry);
  }
}

void main() {
  final memorySink = MemoryLogSink();

  // Configure global activity logger
  ActivityLogger.configure(
    enabled: true,
    debugModeOnly: false,
    minimumLogLevel: LogLevel.debug,
    showTimestamp: true,
    showClassName: true,
    sinks: [const ConsoleLogSink(), memorySink],
  );

  runApp(ExampleApp(memorySink: memorySink));
}

/// Example Flutter app demonstrating usage of [ActivityLogger].
class ExampleApp extends StatelessWidget {
  /// The in-memory log sink instance used for demonstration.
  final MemoryLogSink memorySink;

  /// Creates an [ExampleApp] instance.
  const ExampleApp({super.key, required this.memorySink});

  @override
  Widget build(BuildContext context) {
    const sessionLog = ActivityLogger('SessionService');
    sessionLog.info('Application initialized');

    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: const Text('Activity Logger Example')),
        body: Padding(
          padding: const EdgeInsets.all(16.0),
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.stretch,
            children: [
              ElevatedButton(
                onPressed: () {
                  sessionLog.debug('User clicked debug check');
                  sessionLog.info('User session active');
                  sessionLog.success('Profile loaded successfully');
                  sessionLog.warning('Network latency elevated');
                },
                child: const Text('Emit Sample Logs'),
              ),
              const SizedBox(height: 12),
              ElevatedButton(
                onPressed: () {
                  try {
                    throw Exception('Simulated network error');
                  } catch (e, stackTrace) {
                    sessionLog.error(
                      'Failed to fetch user data',
                      error: e,
                      stackTrace: stackTrace,
                    );
                  }
                },
                child: const Text('Simulate Error Log'),
              ),
            ],
          ),
        ),
      ),
    );
  }
}
0
likes
155
points
146
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A lightweight, structured application activity logger for Dart and Flutter applications.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter

More

Packages that depend on activity_logger