{"id":32143132,"url":"https://github.com/ngtk/loggerkit","last_synced_at":"2025-10-21T07:52:40.941Z","repository":{"id":47325618,"uuid":"133911019","full_name":"ngtk/LoggerKit","owner":"ngtk","description":"🤖Simple logging framework","archived":false,"fork":false,"pushed_at":"2018-08-19T11:17:35.000Z","size":35,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-21T07:52:32.324Z","etag":null,"topics":["ios","logger","logging","swift"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ngtk.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-05-18T06:12:23.000Z","updated_at":"2023-09-11T18:05:53.000Z","dependencies_parsed_at":"2022-09-09T05:00:50.309Z","dependency_job_id":null,"html_url":"https://github.com/ngtk/LoggerKit","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/ngtk/LoggerKit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngtk%2FLoggerKit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngtk%2FLoggerKit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngtk%2FLoggerKit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngtk%2FLoggerKit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ngtk","download_url":"https://codeload.github.com/ngtk/LoggerKit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngtk%2FLoggerKit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280225807,"owners_count":26293888,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-21T02:00:06.614Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ios","logger","logging","swift"],"created_at":"2025-10-21T07:52:39.749Z","updated_at":"2025-10-21T07:52:40.934Z","avatar_url":"https://github.com/ngtk.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LoggerKit [![Pod version](https://badge.fury.io/co/LoggerKit.svg)](https://badge.fury.io/co/LoggerKit) [![Build Status](https://travis-ci.com/ngtk/LoggerKit.svg?branch=master)](https://travis-ci.com/ngtk/LoggerKit) [![Maintainability](https://api.codeclimate.com/v1/badges/a87a4b6a431ee7a4d95c/maintainability)](https://codeclimate.com/github/ngtk/LoggerKit/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/a87a4b6a431ee7a4d95c/test_coverage)](https://codeclimate.com/github/ngtk/LoggerKit/test_coverage)\n🤖 LoggerKit is logging framework that provides a format, log levels and multiple output destinations.\n\n## Usage\nUsing pre bundled logger class `Logger`, you can send log with log level like:\n\n```swift\n// Global context\nlet logger = Logger()\nlet stdout = StandardOut()\nlogger.register(destination: stdout)\n\n// In some code\nlogger.debug(\"For debug\")\nlogger.verbose(\"Something verbose\")\nlogger.info(\"Something want to know\")\nlogger.warning(\"Not expected, but not error\")\nlogger.error(\"Something went wrong, fix this\")\n```\n\n## Customize\nYou can register custom destinations and log format.\nLog format belongs to destination. So you can set format by each destination.\n\n```swift\n// Create your log formatter\nfinal class CustomLogFormatter: LogFormatterProtocol {\n    func format(message: Any, level: LogLevel, context: LogContextProtocol) -\u003e String {\n        // Format message here\n    }\n}\n\n// Create you log destination\nfinal class CustomLogDestination: LogDestinationProtocol {\n    var formatter: LogFormatterProtocol\n\n    init(formatter: LogFormatterProtocol = CustomLogFormatter()) {\n        self.formatter = formatter\n    }\n\n    func write(_ message: Any, level: LogLevel, context: LogContextProtocol) {\n        let formatted = formatter.format(message, level: level, context: context)\n        // You can write here how you want\n    }\n}\n```\n\n## Installation\nUsing [CocoaPods](https://cocoapods.org/):\n\n```\npod 'LoggerKit'\n```\n\n## Development\nIn order to create Xcode project, run:\n\n```\n$ swift package generate-xcodeproj\n```\n\n### Release\n```\n$ bundle exec podspec_bump minor\n$ pod lib lint\n$ git push --tags\n$ pod trunk push LoggerKit.podspec\n```\n\n[CocoaPods Guides](https://guides.cocoapods.org/making/making-a-cocoapod.html#release)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fngtk%2Floggerkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fngtk%2Floggerkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fngtk%2Floggerkit/lists"}