Files
firebase-ios-sdk/FirebaseMLModelDownloader/Sources/DeviceLogger.swift
T

81 lines
2.4 KiB
Swift
Raw Normal View History

2021-01-14 15:29:04 -08:00
// 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
@_implementationOnly import FirebaseCoreExtension
2021-01-14 15:29:04 -08:00
2021-02-10 09:47:07 -08:00
/// Enum of log messages.
2021-01-25 17:15:15 -08:00
enum LoggerMessageCode: Int {
2021-02-10 09:47:07 -08:00
case downloaderInstanceCreated = 1
2021-01-27 13:22:05 -08:00
case downloaderInstanceRetrieved
case downloaderInstanceDeleted
2021-02-10 09:47:07 -08:00
case modelDownloaded
case modelDownloadError
case retryDownload
2021-01-27 13:22:05 -08:00
case backgroundModelDownloaded
2021-02-10 09:47:07 -08:00
case backgroundDownloadError
case disableBackupError
case downloadedModelFileSaved
case downloadedModelSaveError
case anotherDownloadInProgressError
case invalidDownloadSessionError
case mergeRequests
case localModelFound
2021-01-27 13:22:05 -08:00
case allLocalModelsFound
case listModelsError
2021-02-10 09:47:07 -08:00
case modelNameParseError
case noLocalModelInfo
case noLocalModelFile
case outdatedModelPathError
2021-01-27 13:22:05 -08:00
case modelDeleted
2021-02-10 09:47:07 -08:00
case modelDeletionFailed
2021-01-29 12:57:38 -08:00
case validHTTPResponse
case validAuthToken
2021-02-10 09:47:07 -08:00
case invalidOptions
case invalidModelInfoFetchURL
case downloadedModelInfoSaved
2021-01-29 12:57:38 -08:00
case missingModelHash
case invalidModelInfoJSON
case modelInfoDeleted
case modelInfoDownloaded
case modelInfoUnmodified
case authTokenError
case expiredModelInfo
case modelHashMismatchError
case noModelHash
2021-02-10 09:47:07 -08:00
case modelInfoRetrievalError
case modelNotFound
case invalidArgument
case permissionDenied
case resourceExhausted
case notEnoughSpace
case hostnameError
case invalidHTTPResponse
2021-01-14 15:29:04 -08:00
case analyticsEventEncodeError
case telemetryInitError
2021-01-25 17:15:15 -08:00
case testError
2021-01-14 15:29:04 -08:00
}
/// On-device logger.
2022-01-21 13:03:15 -08:00
enum DeviceLogger {
2021-02-10 09:47:07 -08:00
/// Log identifier.
2021-01-25 17:15:15 -08:00
static let service = "[Firebase/MLModelDownloader]"
2021-02-10 09:47:07 -08:00
static func logEvent(level: FirebaseLoggerLevel, message: String,
messageCode: LoggerMessageCode) {
2021-01-25 17:15:15 -08:00
let code = String(format: "I-MLM%06d", messageCode.rawValue)
FirebaseLogger.log(level: level, service: DeviceLogger.service, code: code, message: message)
2021-01-14 15:29:04 -08:00
}
}