{"id":1343,"url":"https://github.com/tadija/AELog","last_synced_at":"2025-08-02T04:30:52.007Z","repository":{"id":56900294,"uuid":"55018645","full_name":"tadija/AELog","owner":"tadija","description":"Simple, lightweight and flexible debug logging framework written in Swift","archived":false,"fork":false,"pushed_at":"2022-03-30T10:33:02.000Z","size":211,"stargazers_count":32,"open_issues_count":0,"forks_count":9,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-07-15T03:35:50.302Z","etag":null,"topics":[],"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/tadija.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":"2016-03-29T23:58:29.000Z","updated_at":"2024-09-03T03:58:29.000Z","dependencies_parsed_at":"2022-08-20T18:20:32.847Z","dependency_job_id":null,"html_url":"https://github.com/tadija/AELog","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/tadija/AELog","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tadija%2FAELog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tadija%2FAELog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tadija%2FAELog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tadija%2FAELog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tadija","download_url":"https://codeload.github.com/tadija/AELog/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tadija%2FAELog/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268334607,"owners_count":24233793,"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-08-02T02:00:12.353Z","response_time":74,"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":[],"created_at":"2024-01-05T20:15:44.265Z","updated_at":"2025-08-02T04:30:51.723Z","avatar_url":"https://github.com/tadija.png","language":"Swift","funding_links":[],"categories":["Logging"],"sub_categories":["Other Hardware","Other free courses"],"readme":"[![Language Swift 5.5](https://img.shields.io/badge/Swift-5.5-orange.svg?style=flat)](https://swift.org)\n[![Platforms iOS | watchOS | tvOS | macOS](https://img.shields.io/badge/Platforms-iOS%20%7C%20watchOS%20%7C%20tvOS%20%7C%20macOS-lightgray.svg?style=flat)](http://www.apple.com)\n[![CocoaPods](https://img.shields.io/cocoapods/v/AELog.svg?style=flat)](https://cocoapods.org/pods/AELog)\n[![Carthage](https://img.shields.io/badge/Carthage-compatible-brightgreen.svg?style=flat)](https://github.com/Carthage/Carthage)\n[![Swift Package Manager](https://img.shields.io/badge/SPM-compatible-brightgreen.svg)](https://github.com/apple/swift-package-manager)\n[![License MIT](https://img.shields.io/badge/License-MIT-lightgrey.svg?style=flat)](https://github.com/tadija/AELog/blob/master/LICENSE)\n\n# AELog\n\n**Simple, lightweight and flexible debug logging minion written in Swift**\n\nIf you find yourself in upcoming statements, then you probably want to use **AELog**:  \n\u003e - I just want to log anything to console while working on a project, then turn it off when going live.  \n\u003e - I'd like to enable / disable logging on a file level, and also to format log lines just the way I like.  \n\u003e - I don't want to have anything other then that, I just want to be up and running in no time.\n\n## Index\n- [Features](#features)\n- [Usage](#usage)\n- [Installation](#installation)\n- [License](#license)\n\n## Features\n- **Top level logging** which can be disabled when needed\n- Enable or disable logging **on a file level**\n- **Customizable format and verbosity** of log lines\n\n## Usage\n\n```swift\n/// Log detailed debugging information with a simple one liner:\n\naelog()\n\n/// - Note: if this was on line 21 in `viewDidLoad` of a `ViewController`, output could look like this:\n/// 2016-04-03 21:08:00.123 -- [Main] ViewController (21) -\u003e viewDidLoad() \u003e\n\n/// Add custom text to log line:\n\naelog(\"hi there\")\n\n/// Log random items (some interesting variables at the moment)\n\nlet text = \"One two three four five\"\nlet x: CGFloat = 21\nlet y: CGFloat = 8\nlet size = CGSize(width: 19, height: 84)\nlet rect = CGRect(x: x, y: y, width: size.width, height: size.height)\nlet range = 1...5\n\naelog(text, x, y, size, rect, range, Log.shared, self)\n\n/// - Note: in this case output could look like this:\n/// 04:01:05.967 -- ViewController (30) -\u003e viewDidAppear \u003e \n\n/// #0: String | \"One two three four five\"\n/// #1: Double | 21.0\n/// #2: Double | 8.0\n/// #3: CGSize | (19.0, 84.0)\n/// #4: CGRect | (21.0, 8.0, 19.0, 84.0)\n/// #5: CountableClosedRange\u003cInt\u003e | CountableClosedRange(1...5)\n/// #6: Log | AELog.Log\n/// #7: ViewController | \u003cAELogDemo_iOS.ViewController: 0x7fd14c41dd60\u003e\n\n/// Log both to debugger and device console:\n\naelog(\"this should be logged just in case...\", mode: .nsLog)\n\n/// Log Settings\n\n/// Enable or disable logging with one flag and customize formatting as you like.\n/// - Warning: `aelog` will by default work only if logging is enabled and file is not disabled in settings,\n/// otherwise it will do nothing, but with `mode: .nsLog` it will always work, wether logging is enabled or not.\n\nlet settings = Log.shared.settings\n\nsettings.isEnabled = true\nsettings.dateFormat = \"yyyy-MM-dd HH:mm:ss.SSS\"\nsettings.template = \"{date} -- [{thread}] {file} ({line}) -\u003e {function} \u003e {text}\"\n\n/// - Note: toggle logging for specific files like this:\nsettings.files = [\n    \"AppDelegate\" : false,\n    \"ViewController\" : true\n]\n\n/// LogDelegate\n\nLog.shared.delegate = self\n\nfunc didLog(line: Line, mode: Log.Mode) {\n    /// - Note: do something here?\n}\n```\n\n### One more thing\n\nHave you ever wanted to see the output of your app while you're not at your computer, like in real time directly on your iOS device? Yeah, me neither, but just in case you change your mind (like I did), check out [AEConsole](https://github.com/tadija/AEConsole) - **customizable console UI overlay with debug log on top of your iOS app**. After all, `AELog` was made just to complement `AEConsole`.\n\n## Installation\n\n- [Swift Package Manager](https://swift.org/package-manager/):\n    \n    ```swift\n    .package(url: \"https://github.com/tadija/AELog.git\", from: \"0.6.3\")\n    ```\n\n- [Carthage](https://github.com/Carthage/Carthage):\n\n\t```ogdl\n\tgithub \"tadija/AELog\"\n\t```\n\n- [CocoaPods](http://cocoapods.org/):\n\n\t```ruby\n\tpod 'AELog'\n\t```\n\n## License\nAELog is released under the MIT license. See [LICENSE](LICENSE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftadija%2FAELog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftadija%2FAELog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftadija%2FAELog/lists"}