feat: removed os.log and moved to NextLog

This commit is contained in:
Serhiy Mytrovtsiy
2021-06-26 13:38:45 +02:00
parent 4f7a7bab25
commit a3a002a2d3
20 changed files with 88 additions and 113 deletions

View File

@@ -7,7 +7,6 @@
//
import Cocoa
import os.log
public protocol Module_p {
var available: Bool { get }
@@ -78,20 +77,20 @@ open class Module: Module_p {
private var popup: PopupWindow? = nil
private var popupView: Popup_p? = nil
private let log: OSLog
private let log: NextLog
private var readers: [Reader_p] = []
public init(popup: Popup_p?, settings: Settings_v?) {
self.config = module_c(in: Bundle(for: type(of: self)).path(forResource: "config", ofType: "plist")!)
self.log = OSLog(subsystem: Bundle.main.bundleIdentifier!, category: self.config.name)
self.log = NextLog.shared.copy(category: self.config.name)
self.settingsView = settings
self.popupView = popup
self.available = self.isAvailable()
self.enabled = Store.shared.bool(key: "\(self.config.name)_state", defaultValue: self.config.defaultState)
if !self.available {
os_log(.debug, log: log, "Module is not available")
debug("Module is not available", log: self.log)
if self.enabled {
self.enabled = false
@@ -110,7 +109,7 @@ open class Module: Module_p {
if self.config.widgetsConfig.count != 0 {
self.initWidgets()
} else {
os_log(.debug, log: log, "Module started without widget")
debug("Module started without widget", log: self.log)
}
self.settings = Settings(config: &self.config, widgets: &self.widgets, enabled: self.enabled, moduleSettings: self.settingsView)
@@ -151,7 +150,7 @@ open class Module: Module_p {
$0.terminate()
}
self.widgets.forEach{ $0.disable() }
os_log(.debug, log: log, "Module terminated")
debug("Module terminated", log: self.log)
}
// function to call before module terminate
@@ -168,7 +167,7 @@ open class Module: Module_p {
reader.start()
}
self.widgets.forEach{ $0.enable() }
os_log(.debug, log: log, "Module enabled")
debug("Module enabled", log: self.log)
}
// set module state to disabled
@@ -180,7 +179,7 @@ open class Module: Module_p {
self.readers.forEach{ $0.stop() }
self.widgets.forEach{ $0.disable() }
self.popup?.setIsVisible(false)
os_log(.debug, log: log, "Module disabled")
debug("Module disabled", log: self.log)
}
// toggle module state
@@ -195,13 +194,13 @@ open class Module: Module_p {
// add reader to module. If module is enabled will fire a read function and start a reader
public func addReader(_ reader: Reader_p) {
self.readers.append(reader)
os_log(.debug, log: log, "Reader %s was added", "\(reader.self)")
debug("\(reader.self) was added", log: self.log)
}
// handler for reader, calls when main reader is ready, and return first value
public func readyHandler() {
self.widgets.forEach{ $0.enable() }
os_log(.debug, log: log, "Reader report readiness")
debug("Reader report readiness", log: self.log)
}
// replace a popup view

View File

@@ -11,7 +11,6 @@
import Cocoa
import Repeat
import os.log
public protocol value_t {
var widgetValue: Double { get }
@@ -47,7 +46,9 @@ public protocol ReaderInternal_p {
}
open class Reader<T>: ReaderInternal_p {
public var log: OSLog
public var log: NextLog {
return NextLog.shared.copy(category: "\(String(describing: self))")
}
public var value: T?
public var interval: Double? = nil
public var defaultInterval: Double = 1
@@ -67,12 +68,11 @@ open class Reader<T>: ReaderInternal_p {
private var history: [T]? = []
public init(popup: Bool = false) {
self.log = OSLog(subsystem: Bundle.main.bundleIdentifier!, category: "\(T.self)")
self.popup = popup
self.setup()
os_log(.debug, log: self.log, "Successfully initialize reader")
debug("Successfully initialize reader", log: self.log)
}
public func initStoreValues(title: String) {
@@ -91,14 +91,14 @@ open class Reader<T>: ReaderInternal_p {
if self.value == nil && value != nil {
self.ready = true
self.readyCallback()
os_log(.debug, log: self.log, "Reader is ready")
debug("Reader is ready", log: self.log)
} else if self.value == nil && value != nil {
if self.nilCallbackCounter > 5 {
os_log(.error, log: self.log, "Callback receive nil value more than 5 times. Please check this reader!")
error("Callback receive nil value more than 5 times. Please check this reader!", log: self.log)
self.stop()
return
} else {
os_log(.debug, log: self.log, "Restarting initial read")
debug("Restarting initial read", log: self.log)
self.nilCallbackCounter += 1
self.read()
return
@@ -134,7 +134,7 @@ open class Reader<T>: ReaderInternal_p {
if let interval = self.interval, self.repeatTask == nil {
if !self.popup && !self.optional {
os_log(.debug, log: self.log, "Set up update interval: %.0f sec", interval)
debug("Set up update interval: \(Int(interval)) sec", log: self.log)
}
self.repeatTask = Repeater.init(interval: .seconds(interval), observer: { _ in
@@ -165,7 +165,7 @@ open class Reader<T>: ReaderInternal_p {
}
public func setInterval(_ value: Int) {
os_log(.debug, log: self.log, "Set update interval: %d sec", value)
debug("Set update interval: \(Int(value)) sec", log: self.log)
self.interval = Double(value)
self.repeatTask?.reset(.seconds(Double(value)), restart: true)
}

View File

@@ -10,7 +10,6 @@
//
import Cocoa
import os.log
public enum widget_t: String {
case unknown = ""
@@ -158,7 +157,9 @@ public class Widget {
private var config: NSDictionary = NSDictionary()
private var menuBarItem: NSStatusItem? = nil
private let log: OSLog
public var log: NextLog {
return NextLog.shared.copy(category: self.module)
}
private var list: [widget_t] {
get {
@@ -176,12 +177,13 @@ public class Widget {
self.preview = preview
self.item = item
self.defaultWidget = defaultWidget
self.log = OSLog(subsystem: Bundle.main.bundleIdentifier!, category: self.module)
self.item.widthHandler = { [weak self] value in
if let s = self, let item = s.menuBarItem, item.length != value {
item.length = value
os_log(.debug, log: s.log, "widget %s change width to %.2f", "\(s.type)", value)
if let this = self {
debug("widget \(s.type) change width to \(Double(value).rounded(toPlaces: 2))", log: this.log)
}
}
}
}
@@ -206,7 +208,7 @@ public class Widget {
self.menuBarItem?.button?.sendAction(on: [.leftMouseDown, .rightMouseDown])
})
os_log(.debug, log: log, "widget %s enabled", self.type.rawValue)
debug("widget \(self.type.rawValue) enabled", log: self.log)
}
// remove item from the menu bar
@@ -215,7 +217,7 @@ public class Widget {
NSStatusBar.system.removeStatusItem(item)
}
self.menuBarItem = nil
os_log(.debug, log: log, "widget %s disabled", self.type.rawValue)
debug("widget \(self.type.rawValue) disabled", log: self.log)
}
// toggle the widget