OSS探訪GitHubでログイン

console・os_log・rolling file・custom loggerへ同じDDLog APIから振り分けるApple向けlogging framework

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
13,321
主要言語
Objective-C
ライセンス
BSD-3-Clause
リポジトリ最終更新
2026/09/21
ページ内ナビ

概要

CocoaLumberjackはApple platform向けlogging frameworkです。DDLogからOSLog、file logger、custom loggerへ同じmessageを配送し、log level、formatter、rolling policyを用途別に設定できます。swift-log backendとして使うこともできます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

DDLogからOSLogとfile loggerへ同じmessageを配送する

DDOSLoggerを追加してsystem logへ出力し、DDFileLoggerを追加すれば同じDDLogInfo/DDLogError等をfileにも保存できます。loggerごとにlevelやformatを変える構成も可能です。

出典:[2]

swift-log backendとして既存Logging APIをCocoaLumberjackへ接続する

CocoaLumberjackSwiftLogBackend productを追加し、LoggingSystem.bootstrapWithCocoaLumberjack()を呼ぶことでswift-logのLogger messageをDDLog backendへ転送できます。

出典:[2][3]

向いている用途

consoleだけでなくfield diagnostics向けrolling logも必要なiOS appに向く

再現しにくい不具合の調査用にlocal file logを残したい、debug/releaseでlevelを変えたい、複数出力先を同じlogging APIで管理したいapplicationに適します。

出典:[2]

導入前の確認

3.10.0はSwift 6.4・iOS 15以上へminimumを引き上げ、logの機密情報はapplication側の責任

3.10.0 releaseではSwift 6.4 supportを追加しSwift 6.0 supportを終了、minimum deployment targetをmacOS 12、iOS/tvOS 15、watchOS 9へ引き上げています。framework自体はdefaultでdataを収集しませんが、log messageへ個人情報等を含めると外部送信時にdata collectionとなり得るため内容をreviewしてください。

出典:[4][3][2]

参考にした公式資料

  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)
編集部からの補足

field diagnostics向けrolling file logや複数loggerを統一APIで扱いたいiOS appに向きます。3.10.0はSwift 6.4・iOS 15以上へminimumが上がっているためupgrade時にdeployment targetを確認してください。

3ステップで試す

  1. 1

    CocoaLumberjack 3.10.0をSwiftPMへ追加する

    3.10.0はSwift tools 6.4・iOS 15以上が前提です。

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

    OSLog loggerを登録する

    application起動時にDDOSLoggerを追加してsystem logへ出力します。

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

    DDLog APIからmessageを出力する

    同じDDLog APIからlevel付きmessageを送り、必要に応じてfile logger等を追加します。

    DDLogInfo("Application started") DDLogError("Example error")
公式READMEで確認

成長

成長の推移 · 直近30日

13,321 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
4
Open PR
2

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

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
所有者種別
Organization
主要言語
Objective-C
ライセンス
BSD-3-Clause
リポジトリ最終更新
2026/09/21

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?
CocoaLumberjackとは?iOS向けlogging framework | OSS探訪