diff options
author | Roopesh Chander <roop@roopc.net> | 2018-12-13 15:38:10 +0530 |
---|---|---|
committer | Roopesh Chander <roop@roopc.net> | 2018-12-13 17:37:14 +0530 |
commit | ae7fb7323faf6321d07dd855ea4f7641d2424ec0 (patch) | |
tree | e06c8af688ca2de4c0464b7d206a140d9cf92f3d /WireGuard/WireGuard/UI | |
parent | Avoid using 'VPN' in code where possible (diff) | |
download | wireguard-apple-ae7fb7323faf6321d07dd855ea4f7641d2424ec0.tar.xz wireguard-apple-ae7fb7323faf6321d07dd855ea4f7641d2424ec0.zip |
Logging: Use ringlogger for logging from the extension
Signed-off-by: Roopesh Chander <roop@roopc.net>
Diffstat (limited to 'WireGuard/WireGuard/UI')
-rw-r--r-- | WireGuard/WireGuard/UI/iOS/AppDelegate.swift | 8 | ||||
-rw-r--r-- | WireGuard/WireGuard/UI/iOS/SettingsTableViewController.swift | 18 |
2 files changed, 15 insertions, 11 deletions
diff --git a/WireGuard/WireGuard/UI/iOS/AppDelegate.swift b/WireGuard/WireGuard/UI/iOS/AppDelegate.swift index 1a4f15c..5625814 100644 --- a/WireGuard/WireGuard/UI/iOS/AppDelegate.swift +++ b/WireGuard/WireGuard/UI/iOS/AppDelegate.swift @@ -13,6 +13,14 @@ class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, willFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { + if let appLogFilePath = FileManager.appLogFileURL?.path { + if !Logger.configure(withFilePath: appLogFilePath) { + os_log("Can't open log file for writing. Log is not saved to file.", log: OSLog.default, type: .error) + } + } else { + os_log("Can't obtain log file URL. Log is not saved to file.", log: OSLog.default, type: .error) + } + let window = UIWindow(frame: UIScreen.main.bounds) window.backgroundColor = UIColor.white self.window = window diff --git a/WireGuard/WireGuard/UI/iOS/SettingsTableViewController.swift b/WireGuard/WireGuard/UI/iOS/SettingsTableViewController.swift index fe276b1..43e277e 100644 --- a/WireGuard/WireGuard/UI/iOS/SettingsTableViewController.swift +++ b/WireGuard/WireGuard/UI/iOS/SettingsTableViewController.swift @@ -108,23 +108,19 @@ class SettingsTableViewController: UITableViewController { if FileManager.default.fileExists(atPath: destinationURL.path) { let isDeleted = FileManager.deleteFile(at: destinationURL) if !isDeleted { - ErrorPresenter.showErrorAlert(title: "No log available", message: "The pre-existing log could not be cleared", from: self) + ErrorPresenter.showErrorAlert(title: "Log export failed", message: "The pre-existing log could not be cleared", from: self) return } } - guard let networkExtensionLogFileURL = FileManager.networkExtensionLogFileURL, - FileManager.default.fileExists(atPath: networkExtensionLogFileURL.path) else { - ErrorPresenter.showErrorAlert(title: "No log available", message: "Please activate a tunnel and then export the log", from: self) - return + guard let networkExtensionLogFilePath = FileManager.networkExtensionLogFileURL?.path else { + ErrorPresenter.showErrorAlert(title: "Log export failed", message: "Internal error obtaining extension log path", from: self) + return } - do { - try FileManager.default.copyItem(at: networkExtensionLogFileURL, to: destinationURL) - } catch { - os_log("Failed to copy file: %{public}@ to %{public}@: %{public}@", log: OSLog.default, type: .error, - networkExtensionLogFileURL.absoluteString, destinationURL.absoluteString, error.localizedDescription) - ErrorPresenter.showErrorAlert(title: "Log export failed", message: "The log could not be copied", from: self) + let isWritten = Logger.writeLog(mergedWith: networkExtensionLogFilePath, to: destinationURL.path) + guard isWritten else { + ErrorPresenter.showErrorAlert(title: "Log export failed", message: "Internal error merging logs", from: self) return } |