mirror of
https://github.com/firebase/firebase-ios-sdk
synced 2026-11-11 22:55:59 +05:45
* Restores ML Pods after M77. * Fix Package.swift * Re-add catalyst to GHA workflow. * Update error handling. * Add logging for background download failure. * Remove empty file. * Slight refactor of error descriptions + using ISO8601DateFormatter where available. * Slight refactor error descriptions + adding availability for ISO8601DateFormatter.
49 lines
1.6 KiB
Swift
49 lines
1.6 KiB
Swift
// Copyright 2021 Google LLC
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
import Foundation
|
|
import os
|
|
|
|
/// Enum of debug messages.
|
|
// TODO: Create list of all possible messages with code - according to format.
|
|
enum LoggerMessageCode {
|
|
case modelDownloaded
|
|
case downloadedModelMovedToURL
|
|
case analyticsEventEncodeError
|
|
case telemetryInitError
|
|
case backgroundDownloadError
|
|
}
|
|
|
|
/// On-device logger.
|
|
class DeviceLogger {
|
|
/// Log event on device.
|
|
static func logEvent(level: OSLogType, category: OSLog, message: StaticString,
|
|
messageCode: LoggerMessageCode) {
|
|
// TODO: Replace with GULLogBasic.
|
|
os_log(message, log: category, type: level)
|
|
}
|
|
}
|
|
|
|
/// Extension to categorize on-device logging.
|
|
extension OSLog {
|
|
private static let subsystem: String = {
|
|
let bundleID = Bundle.main.bundleIdentifier ?? ""
|
|
return "com.google.firebaseml.\(bundleID)"
|
|
}()
|
|
|
|
/// List of logging categories.
|
|
static let modelDownload = OSLog(subsystem: subsystem, category: "model-download")
|
|
static let analytics = OSLog(subsystem: subsystem, category: "analytics")
|
|
}
|