OSS TanbouSign in with GitHub

route one DDLog API to console, os_log, rolling files, and custom loggers on Apple platforms

About these scores

OSS scale score is an unbounded metric that log-compresses and weights Stars, Watchers, Forks, and Contributors. Discovery score is the current OSS scale score minus the score at discovery. Update pace is commits in the last 30 days, growth momentum is the OSS scale score difference within the recent observation window, and OSS health is a 0–100 rating based on available recency, Community Health, and release data.

Stars
13,321
Primary language
Objective-C
License
BSD-3-Clause
Repository last updated
Sep 21, 2026
On this page

Overview

CocoaLumberjack is a logging framework for Apple platforms. DDLog can fan messages out to OSLog, rolling files, and custom loggers with configurable levels, formatters, and rotation policies, and it can also serve as a backend for swift-log.

Features and best fit

Based on official documentation; not hands-on tested · Content checked:

Key features

Send the same DDLog messages to OSLog and file loggers

Applications can register DDOSLogger for system logging and DDFileLogger for persistent files, then use DDLogInfo, DDLogError, and related APIs across both outputs. Levels and formatters can vary by logger.

Sources: [2]

Use CocoaLumberjack as a swift-log backend

The CocoaLumberjackSwiftLogBackend product and LoggingSystem.bootstrapWithCocoaLumberjack() forward swift-log Logger messages into the configured DDLog backend.

Sources: [2][3]

Best fit

Fits iOS apps that need rolling diagnostic logs beyond the development console

It is useful for field diagnostics, different debug/release log levels, persistent rolling files, and multiple destinations behind one logging API.

Sources: [2]

Before adoption

Version 3.10.0 moves to Swift 6.4 and iOS 15+, and applications remain responsible for sensitive log content

Release 3.10.0 adds Swift 6.4 support, drops Swift 6.0 support, and raises minimum deployment targets to macOS 12, iOS/tvOS 15, and watchOS 9. The framework does not collect data by default, but sensitive data placed in log messages can become collected if logs are exported or forwarded.

Sources: [4][3][2]

Official sources

  1. [1]CocoaLumberjack/CocoaLumberjack — GitHub repository(2026-10-06)
  2. [2]CocoaLumberjack 3.10.0 — README(2026-10-06)
  3. [3]CocoaLumberjack 3.10.0 — Package.swift(2026-10-06)
  4. [4]CocoaLumberjack 3.10.0 release(2026-10-06)
  5. [5]CocoaLumberjack BSD-3-Clause license(2026-10-06)
Supplemental curator note

CocoaLumberjack fits iOS apps that need persistent field diagnostics and multiple logging destinations. Version 3.10.0 moves to Swift 6.4 and iOS 15+, so verify deployment targets during upgrades.

Try it in 3 steps

  1. 1

    Add CocoaLumberjack 3.10.0 with SwiftPM

    Version 3.10.0 uses Swift tools 6.4 and requires iOS 15+.

    .package(url: "https://github.com/CocoaLumberjack/CocoaLumberjack", exact: "3.10.0")
  2. 2

    Register the OSLog logger

    Register DDOSLogger during application startup to route logs through the system logger.

    import CocoaLumberjackSwift DDLog.add(DDOSLogger.sharedInstance)
  3. 3

    Write messages through DDLog

    Emit leveled messages through the shared DDLog API and add file or custom loggers as needed.

    DDLogInfo("Application started") DDLogError("Example error")
Check the official README

Growth

Growth trends · Last 30 days

13,321 Stars

Trend data is still being collected.

Development activity

Last 90 days · weekly

Commits (last 30 days)
4
Open PRs
2

Development activity is still being collected.

Built with

Categories and tags

GitHub data

GitHub dataView detailed GitHub data

GitHub Topics

  • macos
  • ios
  • watchos
  • tvos
  • logging
  • log
  • objective-c
  • swift
  • cocoapods
  • carthage
  • lumberjack
  • cocoalumberjack
Stars
13,321
Forks
2,274
Watchers
370
Open issues
4
Contributors
168
Owner type
Organization
Primary language
Objective-C
Repository last updated
Sep 21, 2026
Write a related article

Share a guide or use case for this OSS in Markdown. Articles are published after administrator approval.

Report incorrect information

Tell us if any listing information is incorrect or outdated.

After reading this page, do you know what to do next?