From 44167861624884beebc7601bb3d3343bedcbddf0 Mon Sep 17 00:00:00 2001 From: "Mikhail A.Z." Date: Wed, 18 Jun 2025 13:35:35 +0700 Subject: [PATCH 1/2] ADDED: updates --- .../Configuration/CPLConfig.json | 15 +++++++++++++ .../Configuration/Info.plist | 2 +- .../Location/LocationViewController.swift | 4 ++-- DiscoveryProject/DarkModeDiscovery/main.swift | 22 +++++++++++++++---- .../TheOneRing.xcodeproj/project.pbxproj | 10 ++++++--- README.md | 14 ++++++------ 6 files changed, 50 insertions(+), 17 deletions(-) create mode 100644 DiscoveryProject/DarkModeDiscovery/Configuration/CPLConfig.json diff --git a/DiscoveryProject/DarkModeDiscovery/Configuration/CPLConfig.json b/DiscoveryProject/DarkModeDiscovery/Configuration/CPLConfig.json new file mode 100644 index 0000000..81e4e75 --- /dev/null +++ b/DiscoveryProject/DarkModeDiscovery/Configuration/CPLConfig.json @@ -0,0 +1,15 @@ +{ + "subsystem" : "Perseus", + "category" : "Lover", + "turned" : "off", + "level" : 5, + "output" : "standard", + "subsecond" : "nanosecond", + "tidnumber" : "decimal", + "format" : "short", + "marks" : false, + "time" : false, + "owner" : true, + "directives" : false, + "debugIsInfo" : true +} diff --git a/DiscoveryProject/DarkModeDiscovery/Configuration/Info.plist b/DiscoveryProject/DarkModeDiscovery/Configuration/Info.plist index 60c6319..b270169 100644 --- a/DiscoveryProject/DarkModeDiscovery/Configuration/Info.plist +++ b/DiscoveryProject/DarkModeDiscovery/Configuration/Info.plist @@ -19,7 +19,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 2.0 + 2.1 CFBundleVersion 0 LSRequiresIPhoneOS diff --git a/DiscoveryProject/DarkModeDiscovery/DemoContent/Location/LocationViewController.swift b/DiscoveryProject/DarkModeDiscovery/DemoContent/Location/LocationViewController.swift index aa13cd0..0ad792d 100644 --- a/DiscoveryProject/DarkModeDiscovery/DemoContent/Location/LocationViewController.swift +++ b/DiscoveryProject/DarkModeDiscovery/DemoContent/Location/LocationViewController.swift @@ -89,7 +89,7 @@ class LocationViewController: UIViewController { makeUp() // That's for now, call if not the first, main, screen. // Connect to Log Reporting - observation = geoReport.observe(\.lastMessage) { _, _ in + observation = logReport.observe(\.lastMessage) { _, _ in self.refreshLogReportTextView() } } @@ -177,7 +177,7 @@ extension LocationViewController { } private func refreshLogReportTextView() { - textViewLog.text = geoReport.text + textViewLog.text = logReport.text textViewLog.scrollToBottom() } } diff --git a/DiscoveryProject/DarkModeDiscovery/main.swift b/DiscoveryProject/DarkModeDiscovery/main.swift index 9fd0d24..439556e 100644 --- a/DiscoveryProject/DarkModeDiscovery/main.swift +++ b/DiscoveryProject/DarkModeDiscovery/main.swift @@ -47,11 +47,11 @@ class LogReport: NSObject { typealias LogLevel = ConsolePerseusLogger.PerseusLogger.Level -func reportGeoEvent(_ text: String, _ type: LogLevel, _ localTime: LocalTime) { - geoReport.lastMessage = "[\(localTime.date)] [\(localTime.time)]\r\n> \(text)" +func report(_ text: String, _ type: LogLevel, _ localTime: LocalTime, _ owner: PIDandTID) { + logReport.lastMessage = "[\(localTime.date)] [\(localTime.time)]\r\n> \(text)" } -let geoReport = LogReport() +let logReport = LogReport() // MARK: - Logger @@ -66,7 +66,21 @@ dmlog.turned = .off // geolog.format = .textonly // geolog.output = .custom -log.customActionOnMessage = reportGeoEvent(_:_:_:) +log.customActionOnMessage = report(_:_:_:_:) + +var resetInfo = "" + +if let path = Bundle.main.url(forResource: "CPLConfig", withExtension: "json") { + if log.loadConfig(path), dmlog.loadConfig(path), geolog.loadConfig(path) { + resetInfo = "Options successfully reseted!" + } else { + resetInfo = "Failed to reset options!" + } +} else { + resetInfo = "Failed to create URL!" +} + +log.message(resetInfo) // log.time = true log.message("The app's start point...", .info) diff --git a/DiscoveryProject/TheOneRing.xcodeproj/project.pbxproj b/DiscoveryProject/TheOneRing.xcodeproj/project.pbxproj index 8a8cf55..e464469 100644 --- a/DiscoveryProject/TheOneRing.xcodeproj/project.pbxproj +++ b/DiscoveryProject/TheOneRing.xcodeproj/project.pbxproj @@ -16,6 +16,7 @@ 2EA971BB2D88790C00E564CA /* LocationViewController.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 2EA971BA2D88790C00E564CA /* LocationViewController.storyboard */; }; 2EA971BD2D88798000E564CA /* LocationViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2EA971BC2D88798000E564CA /* LocationViewController.swift */; }; 2EAB12312DEB6B9A002DDA8E /* PerseusGeoKit in Frameworks */ = {isa = PBXBuildFile; productRef = 2EAB12302DEB6B9A002DDA8E /* PerseusGeoKit */; }; + 2EC2CAF12E0289F00044F6E9 /* CPLConfig.json in Resources */ = {isa = PBXBuildFile; fileRef = 2EC2CAF02E0289CA0044F6E9 /* CPLConfig.json */; }; 2EC81B5D2DAB7981004C7AA6 /* PDMSupportingStar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2EC81B5C2DAB7981004C7AA6 /* PDMSupportingStar.swift */; }; 2EDCE1782DCE33BD00CC15A9 /* PGKSupportingStar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2EDCE1772DCE33BD00CC15A9 /* PGKSupportingStar.swift */; }; 2EE1B77B2DBE21D400375792 /* PerseusDarkMode in Frameworks */ = {isa = PBXBuildFile; productRef = 2EE1B77A2DBE21D400375792 /* PerseusDarkMode */; }; @@ -77,6 +78,7 @@ 2EA10AA92CFE233B00535E5A /* APPROBATION.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; name = APPROBATION.md; path = ../APPROBATION.md; sourceTree = ""; }; 2EA971BA2D88790C00E564CA /* LocationViewController.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = LocationViewController.storyboard; sourceTree = ""; }; 2EA971BC2D88798000E564CA /* LocationViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocationViewController.swift; sourceTree = ""; }; + 2EC2CAF02E0289CA0044F6E9 /* CPLConfig.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = CPLConfig.json; sourceTree = ""; }; 2EC81B5C2DAB7981004C7AA6 /* PDMSupportingStar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PDMSupportingStar.swift; sourceTree = ""; }; 2EDCE1772DCE33BD00CC15A9 /* PGKSupportingStar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PGKSupportingStar.swift; sourceTree = ""; }; 2EE5FCCF2DD0941E000AC9CD /* UpdatingLocation.gpx */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = UpdatingLocation.gpx; sourceTree = ""; }; @@ -271,6 +273,7 @@ E095389527B36E7B00AAAAAA /* Assets.xcassets */, E095389A27B36E7B00AAAAAA /* Info.plist */, 2EE5FCCF2DD0941E000AC9CD /* UpdatingLocation.gpx */, + 2EC2CAF02E0289CA0044F6E9 /* CPLConfig.json */, ); path = Configuration; sourceTree = ""; @@ -403,6 +406,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 2EC2CAF12E0289F00044F6E9 /* CPLConfig.json in Resources */, 2EA10AA62CFE211500535E5A /* .swiftlint.yml in Resources */, 2EA10AA82CFE221000535E5A /* swiftlint.yml in Resources */, 4B7EABEE298D6DDF0063172D /* main.yml in Resources */, @@ -778,7 +782,7 @@ repositoryURL = "https://github.com/perseusrealdeal/PerseusGeoKit/"; requirement = { kind = exactVersion; - version = 1.0.1; + version = 1.0.3; }; }; 2EE1B7792DBE21D400375792 /* XCRemoteSwiftPackageReference "PerseusDarkMode" */ = { @@ -786,7 +790,7 @@ repositoryURL = "https://github.com/perseusrealdeal/PerseusDarkMode"; requirement = { kind = exactVersion; - version = 2.0.1; + version = 2.0.3; }; }; 2EE1B77C2DBE21E600375792 /* XCRemoteSwiftPackageReference "ConsolePerseusLogger" */ = { @@ -794,7 +798,7 @@ repositoryURL = "https://github.com/perseusrealdeal/ConsolePerseusLogger"; requirement = { kind = exactVersion; - version = 1.3.0; + version = 1.5.0; }; }; /* End XCRemoteSwiftPackageReference section */ diff --git a/README.md b/README.md index 9e7e384..68cb9e0 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ [![Actions Status](https://github.com/perseusrealdeal/theonering/actions/workflows/main.yml/badge.svg)](https://github.com/perseusrealdeal/theonering/actions/workflows/main.yml) [![Style](https://github.com/perseusrealdeal/theonering/actions/workflows/swiftlint.yml/badge.svg)](https://github.com/perseusrealdeal/theonering/actions/workflows/swiftlint.yml) -![Version](https://img.shields.io/badge/Version-2.0-green.svg) +![Version](https://img.shields.io/badge/Version-2.1-green.svg) [![Platforms](https://img.shields.io/badge/Platform-iOS%2012.4+-orange.svg)](https://en.wikipedia.org/wiki/IOS_12) [![Xcode](https://img.shields.io/badge/Xcode-14.2+-red.svg)](https://en.wikipedia.org/wiki/Xcode) [![Swift](https://img.shields.io/badge/Swift-5-orange.svg)](https://docs.swift.org/swift-book/RevisionHistory/RevisionHistory.html) @@ -15,9 +15,9 @@ > Swift Package Manager. -[![ConsolePerseusLogger](http://img.shields.io/:ConsolePerseusLogger-1.3.0-green.svg)](https://github.com/perseusrealdeal/ConsolePerseusLogger.git) -[![PerseusDarkMode](http://img.shields.io/:PerseusDarkMode-2.0.1-green.svg)](https://github.com/perseusrealdeal/PerseusDarkMode.git) -[![PerseusGeoKit](http://img.shields.io/:PerseusGeoKit-1.0.1-green.svg)](https://github.com/perseusrealdeal/PerseusGeoKit.git) +[![ConsolePerseusLogger](http://img.shields.io/:ConsolePerseusLogger-1.5.0-green.svg)](https://github.com/perseusrealdeal/ConsolePerseusLogger.git) +[![PerseusDarkMode](http://img.shields.io/:PerseusDarkMode-2.0.2-green.svg)](https://github.com/perseusrealdeal/PerseusDarkMode.git) +[![PerseusGeoKit](http://img.shields.io/:PerseusGeoKit-1.0.2-green.svg)](https://github.com/perseusrealdeal/PerseusGeoKit.git) # In brief @@ -42,9 +42,9 @@ | Type | Name | License | | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | -| Package | [ConsolePerseusLogger](https://github.com/perseusrealdeal/ConsolePerseusLogger) / [1.3.0](https://github.com/perseusrealdeal/ConsolePerseusLogger/releases/tag/1.3.0) | MIT | -| Package | [PerseusDarkMode](https://github.com/perseusrealdeal/PerseusDarkMode) / [2.0.1](https://github.com/perseusrealdeal/PerseusDarkMode/releases/tag/2.0.1) | MIT | -| Package | [PerseusGeoKit](https://github.com/perseusrealdeal/PerseusGeoKit) / [1.0.1](https://github.com/perseusrealdeal/PerseusGeoKit/releases/tag/1.0.1) | MIT | +| Package | [ConsolePerseusLogger](https://github.com/perseusrealdeal/ConsolePerseusLogger) / [1.5.0](https://github.com/perseusrealdeal/ConsolePerseusLogger/releases/tag/1.5.0) | MIT | +| Package | [PerseusDarkMode](https://github.com/perseusrealdeal/PerseusDarkMode) / [2.0.2](https://github.com/perseusrealdeal/PerseusDarkMode/releases/tag/2.0.2) | MIT | +| Package | [PerseusGeoKit](https://github.com/perseusrealdeal/PerseusGeoKit) / [1.0.2](https://github.com/perseusrealdeal/PerseusGeoKit/releases/tag/1.0.2) | MIT | # Third-party software From ad3a173c581d02608cf2d784480b13234008a7b1 Mon Sep 17 00:00:00 2001 From: "Mikhail A.Z." Date: Wed, 18 Jun 2025 18:29:30 +0700 Subject: [PATCH 2/2] ADDED: updates --- .../DarkModeDiscovery/AppGlobals.swift | 4 ++- .../Configuration/CPLConfig.json | 4 +-- .../Location/LocationViewController.swift | 4 +-- DiscoveryProject/DarkModeDiscovery/main.swift | 35 +++++++------------ README.md | 8 ++--- 5 files changed, 24 insertions(+), 31 deletions(-) diff --git a/DiscoveryProject/DarkModeDiscovery/AppGlobals.swift b/DiscoveryProject/DarkModeDiscovery/AppGlobals.swift index 4e45a14..c9b1321 100644 --- a/DiscoveryProject/DarkModeDiscovery/AppGlobals.swift +++ b/DiscoveryProject/DarkModeDiscovery/AppGlobals.swift @@ -37,7 +37,8 @@ struct AppGlobals { static var currentLocation: GeoPoint? { didSet { let location = currentLocation?.description ?? "current location is erased" - log.message("[\(type(of: self))] \(location)") + log.message("\(location) \(#function)", .info) + geolog.message("\(location) \(#function)", .debug, .custom) } } @@ -66,6 +67,7 @@ struct AppGlobals { GeoCoordinator.shared.locationUpdatesRecieved = { updates in if let lastone = updates.last { log.message("Location Updates: \(updates.count)") + geolog.message("Location Updates: \(updates.count)", .debug, .custom) AppGlobals.currentLocation = lastone } } diff --git a/DiscoveryProject/DarkModeDiscovery/Configuration/CPLConfig.json b/DiscoveryProject/DarkModeDiscovery/Configuration/CPLConfig.json index 81e4e75..3382e71 100644 --- a/DiscoveryProject/DarkModeDiscovery/Configuration/CPLConfig.json +++ b/DiscoveryProject/DarkModeDiscovery/Configuration/CPLConfig.json @@ -7,9 +7,9 @@ "subsecond" : "nanosecond", "tidnumber" : "decimal", "format" : "short", - "marks" : false, + "marks" : true, "time" : false, - "owner" : true, + "owner" : false, "directives" : false, "debugIsInfo" : true } diff --git a/DiscoveryProject/DarkModeDiscovery/DemoContent/Location/LocationViewController.swift b/DiscoveryProject/DarkModeDiscovery/DemoContent/Location/LocationViewController.swift index 0ad792d..aa13cd0 100644 --- a/DiscoveryProject/DarkModeDiscovery/DemoContent/Location/LocationViewController.swift +++ b/DiscoveryProject/DarkModeDiscovery/DemoContent/Location/LocationViewController.swift @@ -89,7 +89,7 @@ class LocationViewController: UIViewController { makeUp() // That's for now, call if not the first, main, screen. // Connect to Log Reporting - observation = logReport.observe(\.lastMessage) { _, _ in + observation = geoReport.observe(\.lastMessage) { _, _ in self.refreshLogReportTextView() } } @@ -177,7 +177,7 @@ extension LocationViewController { } private func refreshLogReportTextView() { - textViewLog.text = logReport.text + textViewLog.text = geoReport.text textViewLog.scrollToBottom() } } diff --git a/DiscoveryProject/DarkModeDiscovery/main.swift b/DiscoveryProject/DarkModeDiscovery/main.swift index 439556e..cfd5373 100644 --- a/DiscoveryProject/DarkModeDiscovery/main.swift +++ b/DiscoveryProject/DarkModeDiscovery/main.swift @@ -45,50 +45,41 @@ class LogReport: NSObject { private let newline = "\r\n--\r\n" } -typealias LogLevel = ConsolePerseusLogger.PerseusLogger.Level +typealias LogLevel = PerseusGeoKit.PerseusLogger.Level func report(_ text: String, _ type: LogLevel, _ localTime: LocalTime, _ owner: PIDandTID) { - logReport.lastMessage = "[\(localTime.date)] [\(localTime.time)]\r\n> \(text)" + geoReport.lastMessage = "[\(localTime.date)] [\(localTime.time)]\r\n> \(text)" } -let logReport = LogReport() +let geoReport = LogReport() // MARK: - Logger +geolog.customActionOnMessage = report(_:_:_:_:) + // log.turned = .off -dmlog.turned = .off +// dmlog.turned = .off // geolog.turned = .off -// log.output = .consoleapp -// dmlog.output = .consoleapp -// geolog.output = .consoleapp - -// geolog.format = .textonly -// geolog.output = .custom - -log.customActionOnMessage = report(_:_:_:_:) - -var resetInfo = "" +var isLoadedInfo = "" if let path = Bundle.main.url(forResource: "CPLConfig", withExtension: "json") { if log.loadConfig(path), dmlog.loadConfig(path), geolog.loadConfig(path) { - resetInfo = "Options successfully reseted!" + isLoadedInfo = "Options successfully reseted!" } else { - resetInfo = "Failed to reset options!" + isLoadedInfo = "Failed to reset options!" } } else { - resetInfo = "Failed to create URL!" + isLoadedInfo = "Failed to create URL!" } -log.message(resetInfo) - -// log.time = true +log.message(isLoadedInfo) log.message("The app's start point...", .info) -let globals = AppGlobals() - // MARK: - Run the app +let globals = AppGlobals() + // Determine the app run purpose let appPurpose: AnyClass = NSClassFromString("TestingAppDelegate") ?? AppDelegate.self diff --git a/README.md b/README.md index 68cb9e0..d895369 100644 --- a/README.md +++ b/README.md @@ -16,8 +16,8 @@ > Swift Package Manager. [![ConsolePerseusLogger](http://img.shields.io/:ConsolePerseusLogger-1.5.0-green.svg)](https://github.com/perseusrealdeal/ConsolePerseusLogger.git) -[![PerseusDarkMode](http://img.shields.io/:PerseusDarkMode-2.0.2-green.svg)](https://github.com/perseusrealdeal/PerseusDarkMode.git) -[![PerseusGeoKit](http://img.shields.io/:PerseusGeoKit-1.0.2-green.svg)](https://github.com/perseusrealdeal/PerseusGeoKit.git) +[![PerseusDarkMode](http://img.shields.io/:PerseusDarkMode-2.0.3-green.svg)](https://github.com/perseusrealdeal/PerseusDarkMode.git) +[![PerseusGeoKit](http://img.shields.io/:PerseusGeoKit-1.0.3-green.svg)](https://github.com/perseusrealdeal/PerseusGeoKit.git) # In brief @@ -43,8 +43,8 @@ | Type | Name | License | | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | | Package | [ConsolePerseusLogger](https://github.com/perseusrealdeal/ConsolePerseusLogger) / [1.5.0](https://github.com/perseusrealdeal/ConsolePerseusLogger/releases/tag/1.5.0) | MIT | -| Package | [PerseusDarkMode](https://github.com/perseusrealdeal/PerseusDarkMode) / [2.0.2](https://github.com/perseusrealdeal/PerseusDarkMode/releases/tag/2.0.2) | MIT | -| Package | [PerseusGeoKit](https://github.com/perseusrealdeal/PerseusGeoKit) / [1.0.2](https://github.com/perseusrealdeal/PerseusGeoKit/releases/tag/1.0.2) | MIT | +| Package | [PerseusDarkMode](https://github.com/perseusrealdeal/PerseusDarkMode) / [2.0.3](https://github.com/perseusrealdeal/PerseusDarkMode/releases/tag/2.0.3) | MIT | +| Package | [PerseusGeoKit](https://github.com/perseusrealdeal/PerseusGeoKit) / [1.0.3](https://github.com/perseusrealdeal/PerseusGeoKit/releases/tag/1.0.3) | MIT | # Third-party software