A logging backend for apple/swift-log that sends log entries to Supabase.
Add swift-log-supabase
as a dependency to your project using SPM.
.package(url: "https://github.com/binaryscraping/swift-log-supabase", from: "0.1.0"),
And in your application/target, add "SupabaseLogging"
to your "dependencies"
.
.target(
name: "YourTarget",
dependencies: [
.product(name: "SupabaseLogging", package: "swift-log-supabase"),
]
)
Start by creating the logs table on Supabase dashboard by running the supabase-init.sql script on Supabase SQL Editor.
import Logging
import SupabaseLogging
// During app startup/initialization.
LoggingSystem.bootstrap { label in
SupabaseLogHandler(
label: label,
config: SupabaseLogConfig(
table: "logs", // optional table name to use, defaults to "logs".
supabaseURL: "https://your-supabase-project-url.com/rest/v1",
supabaseAnonKey: "your-supabase-anon-key",
isDebug: true // optional flag to turn on/off internal logging, defaults to "false".
)
)
}
// Then just log it.
let logger = Logger(label: "co.binaryscraping.swift-log-supabase")
logger.info("Supabase is super cool")
For more details on all the features of the Swift Logging API, check out the swift-log repo.