mirror of
https://github.com/morgan9e/macos-stats
synced 2026-04-15 00:34:08 +09:00
feat: removed os.log and moved to NextLog
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user