awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
natefinch avatar

natefinch/lumberjack

0
View on GitHub↗
5,439 stars·653 forks·Go·MIT·2 views

Lumberjack

Lumberjack is a log rolling library for Go that manages the lifecycle of log files through size-based rotation and backup cleanup. It functions as a log retention manager to prevent disk exhaustion in Go services.

The project optimizes log storage by compressing rotated files using the gzip algorithm and generating unique filenames via timestamped backups. It implements a retention policy that prunes historical records based on a maximum number of backups or a specified file age.

The library implements the standard Go writer interface to integrate with logging libraries, providing a mechanism for automated log rotation and disk space optimization.

Features

  • Log File Rotators - Manages log file lifecycles by rotating files once they reach a predefined byte threshold.
  • Log Lifecycle Management - Automates the cleanup and archival of log files based on age and retention policies.
  • Go Log Rolling Libraries - Provides a specialized Go library for managing log file rotation and backup based on size or time.
  • Go Application Log Management - Prevents disk exhaustion in Go services by managing the lifecycle of local log files.
  • Log Rotation Utilities - Provides a Go library to automatically rotate log files when size limits are reached.
  • Compressed Log Rotations - Implements gzip compression for rotated log files to minimize disk space usage.
  • Log File Retention Policies - Provides automated deletion of old log files based on file count or maximum age.
  • Timestamped Archiving - Generates unique filenames for rotated logs by appending precise date and time strings.
  • Logging - Rolling log file implementation.
  • Logging - Log file rotation.
  • Logging Libraries - Simple rolling logger for log file management.

Star history

Star history chart for natefinch/lumberjackStar history chart for natefinch/lumberjack

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does natefinch/lumberjack do?

Lumberjack is a log rolling library for Go that manages the lifecycle of log files through size-based rotation and backup cleanup. It functions as a log retention manager to prevent disk exhaustion in Go services.

What are the main features of natefinch/lumberjack?

The main features of natefinch/lumberjack are: Log File Rotators, Log Lifecycle Management, Go Log Rolling Libraries, Go Application Log Management, Log Rotation Utilities, Compressed Log Rotations, Log File Retention Policies, Timestamped Archiving.

What are some open-source alternatives to natefinch/lumberjack?

Open-source alternatives to natefinch/lumberjack include: log4js-node/log4js-node — This is a logging framework for Node.js based on the log4j architecture. It provides a system for managing… easylogging/easyloggingpp — Easyloggingpp is a header-only C++ logging framework and diagnostic tool designed for recording system events and… winstonjs/winston — Winston is a versatile logging library for Node.js designed to record system events and metadata. It functions as a… rs/zerolog — Zerolog is a structured logging library for Go designed for high-performance event capture and observability. It… cihub/seelog — Seelog is a native Go logging library that provides flexible asynchronous dispatching, filtering, and formatting. golang/glog — Leveled execution logs for Go.

Open-source alternatives to Lumberjack

Similar open-source projects, ranked by how many features they share with Lumberjack.
  • log4js-node/log4js-nodeL

    log4js-node/log4js-node

    5,838View on GitHub↗

    This is a logging framework for Node.js based on the log4j architecture. It provides a system for managing hierarchical loggers and severity thresholds, allowing application events to be recorded and categorized across different levels of importance. The framework is distinguished by its cluster-aware logging, which synchronizes and coordinates output across multiple process clusters into a unified stream. It also includes a dedicated log file rotation manager that automatically rolls files by date or size to prevent disk space exhaustion, and a network log transporter for sending data to rem

    JavaScript
    View on GitHub↗5,838
  • easylogging/easyloggingppeasylogging avatar

    easylogging/easyloggingpp

    3,938View on GitHub↗

    Easyloggingpp is a header-only C++ logging framework and diagnostic tool designed for recording system events and diagnostic messages. It functions as a thread-safe logging library that synchronizes access across multiple concurrent execution threads to prevent data corruption during event recording. The framework features an asynchronous logger that processes messages on a background thread to minimize latency and prevent blocking the main application. It also acts as a log dispatcher, capable of routing data to local files, system syslog facilities, or remote network destinations for system

    C++
    View on GitHub↗3,938
  • winstonjs/winstonwinstonjs avatar

    winstonjs/winston

    24,478View on GitHub↗

    Winston is a versatile logging library for Node.js designed to record system events and metadata. It functions as a multi-transport log manager that routes data to various destinations and a structured log formatter that transforms entries into JSON or plain text. The project is distinguished by its pluggable transport architecture, which decouples the logging interface from delivery mechanisms. This allows for the creation of custom transport extensions and the use of hierarchical logger instances to inherit configurations while attaching persistent metadata to downstream messages. The libr

    JavaScript
    View on GitHub↗24,478
  • cihub/seelogcihub avatar

    cihub/seelog

    1,637View on GitHub↗

    Seelog is a native Go logging library that provides flexible asynchronous dispatching, filtering, and formatting.

    Go
    View on GitHub↗1,637
  • See all 30 alternatives to Lumberjack→