Skip to content

Commit

Permalink
OSLogWriter takes optional subsystem and category (#409)
Browse files Browse the repository at this point in the history
Resolves #393

Co-authored-by: Kevin Schildhorn <kevin.schildhorn@gmail.com>
  • Loading branch information
rocketraman and KevinSchildhorn authored Nov 15, 2024
1 parent 20d2f1d commit 30b0c78
Showing 1 changed file with 6 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,12 @@ import kotlin.experimental.ExperimentalNativeApi
*/
open class OSLogWriter internal constructor(
private val messageStringFormatter: MessageStringFormatter,
private val darwinLogger: DarwinLogger
private val darwinLogger: DarwinLogger,
) : LogWriter() {

constructor(messageStringFormatter: MessageStringFormatter = DefaultFormatter) : this(
constructor(messageStringFormatter: MessageStringFormatter = DefaultFormatter, subsystem: String = "", category: String = "") : this(
messageStringFormatter,
DarwinLoggerActual
DarwinLoggerActual(subsystem, category),
)

override fun log(severity: Severity, message: String, tag: String, throwable: Throwable?) {
Expand Down Expand Up @@ -77,9 +77,9 @@ internal interface DarwinLogger {
}

@OptIn(ExperimentalForeignApi::class)
private object DarwinLoggerActual : DarwinLogger {
private val logger = darwin_log_create("", "")!!
private class DarwinLoggerActual(subsystem: String, category: String) : DarwinLogger {
private val logger = darwin_log_create(subsystem, category)!!
override fun log(osLogSeverity: os_log_type_t, message: String) {
darwin_log_with_type(logger, osLogSeverity, message)
}
}
}

0 comments on commit 30b0c78

Please sign in to comment.