Skip to content

A simple and convenient way to view logs in the iOS app. Available as SwiftUI View.

License

Notifications You must be signed in to change notification settings

alexejn/LogView

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LogView

LogView is a powerfull and modern log viewer for iOS. Native. Built with SwiftUI.

Inspired by new structured debug console in Xcode 15 (WWDC 2023)

image image image

How it works

LogView works like debug console in Xcode. Any log you write with Logger will be visible in LogView

import os 

let logger = Logger(subsystem: "com.myapplication", category: "auth")

logger.error("Can't authorize - service is unavailable")
image image

How to integrate

import LogView

struct ContenView: View {
  @State var logViewPresented: Bool = false

  var body: some View {
    Text("Its my main view")
      .onAppear {
        // Setup predicate to get only my application log, otherwise you get tons of apple system logs
        LogView.predicate = .subystemIn(["com.myapplication"], orNil: false)
      }
      // Present as sheet on shake
      .onShake { 
        logViewPresented = true
      }
      .sheet(isPresented: $logViewPresented, content: {
        // Wrap LogView in NavigationView or NavigationStack
        NavigationView { 
           // The package available since iOS 14, but to see LogView app should be run on iOS 15 and upper 
           if #available(iOS 15.0, *) {
              LogView()
            } else {
              Text("Run your app on iOS 15 and upper")
            }
        }
      })
  }
}

If you wonder How to realize onShake modifier

You can also specified additional filter behavior if you wish

  LogView.filterEntries = { log in
    log.sender == "DataFramework" // To get logs only from this library
  }

LogView is just SwiftUI View you can integrate as any other view. If you have some debug panel which you use while debug & developing, its good to integrate LogView in it.

How to get

LogView comes as Swift Package. Use SPM to integrate it in your app.

License

LogView is available under the MIT license. See the LICENSE file for more info.

About

A simple and convenient way to view logs in the iOS app. Available as SwiftUI View.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages