{"id":15561248,"url":"https://github.com/kjuly/kylogger","last_synced_at":"2026-04-28T20:31:22.314Z","repository":{"id":209836991,"uuid":"724914428","full_name":"Kjuly/KYLogger","owner":"Kjuly","description":"A local system logger for Apple platforms.","archived":false,"fork":false,"pushed_at":"2025-07-06T08:06:39.000Z","size":60,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-15T05:42:53.813Z","etag":null,"topics":["file-logging","ios","lightweight","log","logger","macos","server-less","swift","watchos"],"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/Kjuly.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-11-29T03:32:45.000Z","updated_at":"2025-12-04T14:13:22.000Z","dependencies_parsed_at":"2023-12-10T13:29:18.009Z","dependency_job_id":"38228fb9-87c6-4f22-b9c7-83ba08fe53bf","html_url":"https://github.com/Kjuly/KYLogger","commit_stats":{"total_commits":30,"total_committers":1,"mean_commits":30.0,"dds":0.0,"last_synced_commit":"eae5f2a18332d04f365588cdff3865e8420843e8"},"previous_names":["kjuly/kylogger"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/Kjuly/KYLogger","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kjuly%2FKYLogger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kjuly%2FKYLogger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kjuly%2FKYLogger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kjuly%2FKYLogger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Kjuly","download_url":"https://codeload.github.com/Kjuly/KYLogger/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kjuly%2FKYLogger/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32398408,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T19:38:08.556Z","status":"ssl_error","status_checked_at":"2026-04-28T19:37:55.688Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["file-logging","ios","lightweight","log","logger","macos","server-less","swift","watchos"],"created_at":"2024-10-02T16:06:45.580Z","updated_at":"2026-04-28T20:31:22.299Z","avatar_url":"https://github.com/Kjuly.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# KYLogger\n\nA local system logger for Apple platforms.\n\nThis lightweight logging lib is serverless. It includes a debug logger and a file logger which will save logs locally on the device. Users can choose to send a log file when a bug is reported.\n\n[![](https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2FKjuly%2FKYLogger%2Fbadge%3Ftype%3Dswift-versions)](https://swiftpackageindex.com/Kjuly/KYLogger)\n[![](https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2FKjuly%2FKYLogger%2Fbadge%3Ftype%3Dplatforms)](https://swiftpackageindex.com/Kjuly/KYLogger)  \n![macOS][macOS-Badge] ![iOS][iOS-Badge] ![watchOS][watchOS-Badge]  \n[![SPM][SPM-Badge]][SPM-Link] [![CocoaPods][CocoaPods-Badge]][CocoaPods-Link] [![Carthage][Carthage-Badge]][Carthage-Link]\n\n[macOS-Badge]: https://img.shields.io/badge/macOS-12.0%2B-blue?labelColor=00367A\u0026color=3081D0\n[iOS-Badge]: https://img.shields.io/badge/iOS-15.5%2B-blue?labelColor=00367A\u0026color=3081D0\n[watchOS-Badge]: https://img.shields.io/badge/watchOS-6.0%2B-blue?labelColor=00367A\u0026color=3081D0\n\n[SPM-Badge]: https://img.shields.io/github/v/tag/Kjuly/KYLogger?label=SPM\u0026labelColor=2F4858\u0026color=A8DF8E\n[SPM-Link]: https://swiftpackageindex.com/Kjuly/KYLogger\n[CocoaPods-Badge]: https://img.shields.io/cocoapods/v/KYLogger?label=CocoaPods\u0026labelColor=2F4858\u0026color=A8DF8E\n[CocoaPods-Link]: https://cocoapods.org/pods/KYLogger\n[Carthage-Badge]: https://img.shields.io/github/v/tag/Kjuly/KYLogger?label=Carthage\u0026labelColor=2F4858\u0026color=A8DF8E\n[Carthage-Link]: https://swiftpackageindex.com/Kjuly/KYLogger\n\n## Installation\n\nSee the following subsections for details on the different installation methods.\n\n- [Swift Package Manager](INSTALLATION.md#swift-package-manager)\n- [CocoaPods](INSTALLATION.md#cocoaPods)\n- [Carthage](INSTALLATION.md#carthage)\n- [Submodule](INSTALLATION.md#submodule)\n\n## KYLog Usage\n\n```swift\nKYLog(.debug, \"A debug message\")\nKYLog(.notice, \"A notice message\")\nKYLog(.success, \"A success message\")\nKYLog(.warn, \"A warn message\")\nKYLog(.error, \"A error message\")\nKYLog(.critical, \"A critical message\")\n```\nOutputs:\n```\n🟣 DEBUG -[KYLoggerDemoApp.swift init()] L18: A debug message\n🔵 NOTICE -[KYLoggerDemoApp.swift init()] L19: A notice message\n🟢 SUCCESS -[KYLoggerDemoApp.swift init()] L20: A success message\n🟡 WARN -[KYLoggerDemoApp.swift init()] L21: A warn message\n🔴 ERROR -[KYLoggerDemoApp.swift init()] L22: A error message\n❌ CRITICAL -[KYLoggerDemoApp.swift init()] L23: A critical message\n```\n\n## KYFileLogger Usage\n\nYou can define a global variable to toggle file logging and wrap the logger with a convenience function. Just like the demo project:\n```swift\nclass DemoAppFileLogger {\n  public static var isDataSyncLoggingEnabled: Bool = false\n}\n\npublic func DemoAppSyncFileLog(\n  _ type: KYLogType,\n  _ message: String,\n  function: String = #function,\n  file: String = #file,\n  line: Int = #line\n) {\n#if DEBUG\n  KYFileLogger.log(type, message, DemoAppFileLogger.isDataSyncLoggingEnabled, function: function, file: file, line: line)\n#else\n  if DemoAppFileLogger.isDataSyncLoggingEnabled {\n    KYFileLogger.log(type, message, function: function, file: file, line: line)\n  }\n#endif\n}\n\n// This message will be saved to disk only if `DemoAppFileLogger.isDataSyncLoggingEnabled = true`.\nDemoAppSyncFileLog(.notice, \"Some sync messages.\")\n```\n\u003e [!NOTE]\n\u003e You can check out the demo project [KYLoggerDemo](KYLoggerDemo) for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkjuly%2Fkylogger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkjuly%2Fkylogger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkjuly%2Fkylogger/lists"}