Skip to content

Commit 972b7b6

Browse files
committed
chore(kmp): make log severity shorthands members of Measure
1 parent 35bedfa commit 972b7b6

7 files changed

Lines changed: 62 additions & 48 deletions

File tree

frontend/dashboard/content/docs/api-reference.mdx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1719,7 +1719,7 @@ Measure.logFatal({ body: "Unrecoverable database error" });
17191719
<Tab value="Kotlin Multiplatform">
17201720

17211721
```kotlin
1722-
import sh.measure.kmp.*
1722+
import sh.measure.kmp.Measure
17231723

17241724
Measure.logDebug("Cache miss for key user_42")
17251725
Measure.logInfo("User signed in")
@@ -1779,7 +1779,6 @@ Measure.logWarning({ body: "Payment failed", attributes: { screen: "Checkout" }
17791779

17801780
```kotlin
17811781
import sh.measure.kmp.Measure
1782-
import sh.measure.kmp.logWarning
17831782
import sh.measure.kmp.attributes.AttributesBuilder
17841783

17851784
val attributes = AttributesBuilder().put("screen", "Checkout").build()

frontend/dashboard/content/docs/logs/index.mdx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ Measure.logFatal({ body: "Unrecoverable database error" });
6666
<Tab value="Kotlin Multiplatform">
6767

6868
```kotlin
69-
import sh.measure.kmp.*
69+
import sh.measure.kmp.Measure
7070

7171
Measure.logDebug("Cache miss for key user_42")
7272
Measure.logInfo("User signed in")
@@ -128,7 +128,6 @@ Measure.logWarning({ body: "Payment failed", attributes: { screen: "Checkout" }
128128

129129
```kotlin
130130
import sh.measure.kmp.Measure
131-
import sh.measure.kmp.logWarning
132131
import sh.measure.kmp.attributes.AttributesBuilder
133132

134133
val attributes = AttributesBuilder().put("screen", "Checkout").build()

kmp/measure-kmp/api/measure-kmp.api

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,16 @@ public final class sh/measure/kmp/Measure {
1717
public static synthetic fun launchBugReport$default (Lsh/measure/kmp/Measure;ZLjava/util/Map;ILjava/lang/Object;)V
1818
public final fun log (Ljava/lang/String;Lsh/measure/kmp/logs/LogSeverity;Ljava/util/Map;)V
1919
public static synthetic fun log$default (Lsh/measure/kmp/Measure;Ljava/lang/String;Lsh/measure/kmp/logs/LogSeverity;Ljava/util/Map;ILjava/lang/Object;)V
20+
public final fun logDebug (Ljava/lang/String;Ljava/util/Map;)V
21+
public static synthetic fun logDebug$default (Lsh/measure/kmp/Measure;Ljava/lang/String;Ljava/util/Map;ILjava/lang/Object;)V
22+
public final fun logError (Ljava/lang/String;Ljava/util/Map;)V
23+
public static synthetic fun logError$default (Lsh/measure/kmp/Measure;Ljava/lang/String;Ljava/util/Map;ILjava/lang/Object;)V
24+
public final fun logFatal (Ljava/lang/String;Ljava/util/Map;)V
25+
public static synthetic fun logFatal$default (Lsh/measure/kmp/Measure;Ljava/lang/String;Ljava/util/Map;ILjava/lang/Object;)V
26+
public final fun logInfo (Ljava/lang/String;Ljava/util/Map;)V
27+
public static synthetic fun logInfo$default (Lsh/measure/kmp/Measure;Ljava/lang/String;Ljava/util/Map;ILjava/lang/Object;)V
28+
public final fun logWarning (Ljava/lang/String;Ljava/util/Map;)V
29+
public static synthetic fun logWarning$default (Lsh/measure/kmp/Measure;Ljava/lang/String;Ljava/util/Map;ILjava/lang/Object;)V
2030
public final fun setUserId (Ljava/lang/String;)V
2131
public final fun start ()V
2232
public final fun startSpan (Ljava/lang/String;)Lsh/measure/kmp/tracing/Span;
@@ -34,19 +44,6 @@ public final class sh/measure/kmp/Measure {
3444
public static synthetic fun trackScreenView$default (Lsh/measure/kmp/Measure;Ljava/lang/String;Ljava/util/Map;ILjava/lang/Object;)V
3545
}
3646

37-
public final class sh/measure/kmp/MeasureKt {
38-
public static final fun logDebug (Lsh/measure/kmp/Measure;Ljava/lang/String;Ljava/util/Map;)V
39-
public static synthetic fun logDebug$default (Lsh/measure/kmp/Measure;Ljava/lang/String;Ljava/util/Map;ILjava/lang/Object;)V
40-
public static final fun logError (Lsh/measure/kmp/Measure;Ljava/lang/String;Ljava/util/Map;)V
41-
public static synthetic fun logError$default (Lsh/measure/kmp/Measure;Ljava/lang/String;Ljava/util/Map;ILjava/lang/Object;)V
42-
public static final fun logFatal (Lsh/measure/kmp/Measure;Ljava/lang/String;Ljava/util/Map;)V
43-
public static synthetic fun logFatal$default (Lsh/measure/kmp/Measure;Ljava/lang/String;Ljava/util/Map;ILjava/lang/Object;)V
44-
public static final fun logInfo (Lsh/measure/kmp/Measure;Ljava/lang/String;Ljava/util/Map;)V
45-
public static synthetic fun logInfo$default (Lsh/measure/kmp/Measure;Ljava/lang/String;Ljava/util/Map;ILjava/lang/Object;)V
46-
public static final fun logWarning (Lsh/measure/kmp/Measure;Ljava/lang/String;Ljava/util/Map;)V
47-
public static synthetic fun logWarning$default (Lsh/measure/kmp/Measure;Ljava/lang/String;Ljava/util/Map;ILjava/lang/Object;)V
48-
}
49-
5047
public abstract interface class sh/measure/kmp/attributes/AttributeValue {
5148
public abstract fun getValue ()Ljava/lang/Object;
5249
}

kmp/measure-kmp/api/measure-kmp.klib.api

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,11 @@ final object sh.measure.kmp/Measure { // sh.measure.kmp/Measure|null[0]
168168
final fun getTraceParentHeaderValue(sh.measure.kmp.tracing/Span): kotlin/String // sh.measure.kmp/Measure.getTraceParentHeaderValue|getTraceParentHeaderValue(sh.measure.kmp.tracing.Span){}[0]
169169
final fun launchBugReport(kotlin/Boolean = ..., kotlin.collections/Map<kotlin/String, sh.measure.kmp.attributes/AttributeValue> = ...) // sh.measure.kmp/Measure.launchBugReport|launchBugReport(kotlin.Boolean;kotlin.collections.Map<kotlin.String,sh.measure.kmp.attributes.AttributeValue>){}[0]
170170
final fun log(kotlin/String, sh.measure.kmp.logs/LogSeverity = ..., kotlin.collections/Map<kotlin/String, sh.measure.kmp.attributes/AttributeValue> = ...) // sh.measure.kmp/Measure.log|log(kotlin.String;sh.measure.kmp.logs.LogSeverity;kotlin.collections.Map<kotlin.String,sh.measure.kmp.attributes.AttributeValue>){}[0]
171+
final fun logDebug(kotlin/String, kotlin.collections/Map<kotlin/String, sh.measure.kmp.attributes/AttributeValue> = ...) // sh.measure.kmp/Measure.logDebug|logDebug(kotlin.String;kotlin.collections.Map<kotlin.String,sh.measure.kmp.attributes.AttributeValue>){}[0]
172+
final fun logError(kotlin/String, kotlin.collections/Map<kotlin/String, sh.measure.kmp.attributes/AttributeValue> = ...) // sh.measure.kmp/Measure.logError|logError(kotlin.String;kotlin.collections.Map<kotlin.String,sh.measure.kmp.attributes.AttributeValue>){}[0]
173+
final fun logFatal(kotlin/String, kotlin.collections/Map<kotlin/String, sh.measure.kmp.attributes/AttributeValue> = ...) // sh.measure.kmp/Measure.logFatal|logFatal(kotlin.String;kotlin.collections.Map<kotlin.String,sh.measure.kmp.attributes.AttributeValue>){}[0]
174+
final fun logInfo(kotlin/String, kotlin.collections/Map<kotlin/String, sh.measure.kmp.attributes/AttributeValue> = ...) // sh.measure.kmp/Measure.logInfo|logInfo(kotlin.String;kotlin.collections.Map<kotlin.String,sh.measure.kmp.attributes.AttributeValue>){}[0]
175+
final fun logWarning(kotlin/String, kotlin.collections/Map<kotlin/String, sh.measure.kmp.attributes/AttributeValue> = ...) // sh.measure.kmp/Measure.logWarning|logWarning(kotlin.String;kotlin.collections.Map<kotlin.String,sh.measure.kmp.attributes.AttributeValue>){}[0]
171176
final fun setUserId(kotlin/String) // sh.measure.kmp/Measure.setUserId|setUserId(kotlin.String){}[0]
172177
final fun start() // sh.measure.kmp/Measure.start|start(){}[0]
173178
final fun startSpan(kotlin/String): sh.measure.kmp.tracing/Span // sh.measure.kmp/Measure.startSpan|startSpan(kotlin.String){}[0]
@@ -179,9 +184,3 @@ final object sh.measure.kmp/Measure { // sh.measure.kmp/Measure|null[0]
179184
final fun trackHttpEvent(kotlin/String, kotlin/String, kotlin/Long, kotlin/Long, kotlin/Int? = ..., kotlin/Exception? = ..., kotlin.collections/Map<kotlin/String, kotlin/String>? = ..., kotlin.collections/Map<kotlin/String, kotlin/String>? = ..., kotlin/String? = ..., kotlin/String? = ..., kotlin/String = ...) // sh.measure.kmp/Measure.trackHttpEvent|trackHttpEvent(kotlin.String;kotlin.String;kotlin.Long;kotlin.Long;kotlin.Int?;kotlin.Exception?;kotlin.collections.Map<kotlin.String,kotlin.String>?;kotlin.collections.Map<kotlin.String,kotlin.String>?;kotlin.String?;kotlin.String?;kotlin.String){}[0]
180185
final fun trackScreenView(kotlin/String, kotlin.collections/Map<kotlin/String, sh.measure.kmp.attributes/AttributeValue> = ...) // sh.measure.kmp/Measure.trackScreenView|trackScreenView(kotlin.String;kotlin.collections.Map<kotlin.String,sh.measure.kmp.attributes.AttributeValue>){}[0]
181186
}
182-
183-
final fun (sh.measure.kmp/Measure).sh.measure.kmp/logDebug(kotlin/String, kotlin.collections/Map<kotlin/String, sh.measure.kmp.attributes/AttributeValue> = ...) // sh.measure.kmp/logDebug|logDebug@sh.measure.kmp.Measure(kotlin.String;kotlin.collections.Map<kotlin.String,sh.measure.kmp.attributes.AttributeValue>){}[0]
184-
final fun (sh.measure.kmp/Measure).sh.measure.kmp/logError(kotlin/String, kotlin.collections/Map<kotlin/String, sh.measure.kmp.attributes/AttributeValue> = ...) // sh.measure.kmp/logError|logError@sh.measure.kmp.Measure(kotlin.String;kotlin.collections.Map<kotlin.String,sh.measure.kmp.attributes.AttributeValue>){}[0]
185-
final fun (sh.measure.kmp/Measure).sh.measure.kmp/logFatal(kotlin/String, kotlin.collections/Map<kotlin/String, sh.measure.kmp.attributes/AttributeValue> = ...) // sh.measure.kmp/logFatal|logFatal@sh.measure.kmp.Measure(kotlin.String;kotlin.collections.Map<kotlin.String,sh.measure.kmp.attributes.AttributeValue>){}[0]
186-
final fun (sh.measure.kmp/Measure).sh.measure.kmp/logInfo(kotlin/String, kotlin.collections/Map<kotlin/String, sh.measure.kmp.attributes/AttributeValue> = ...) // sh.measure.kmp/logInfo|logInfo@sh.measure.kmp.Measure(kotlin.String;kotlin.collections.Map<kotlin.String,sh.measure.kmp.attributes.AttributeValue>){}[0]
187-
final fun (sh.measure.kmp/Measure).sh.measure.kmp/logWarning(kotlin/String, kotlin.collections/Map<kotlin/String, sh.measure.kmp.attributes/AttributeValue> = ...) // sh.measure.kmp/logWarning|logWarning@sh.measure.kmp.Measure(kotlin.String;kotlin.collections.Map<kotlin.String,sh.measure.kmp.attributes.AttributeValue>){}[0]

kmp/measure-kmp/src/androidMain/kotlin/sh/measure/kmp/Measure.android.kt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,16 @@ actual object Measure {
4444
AndroidMeasure.log(body, severity.toAndroid(), attributes.toAndroid())
4545
}
4646

47+
actual fun logDebug(body: String, attributes: Map<String, AttributeValue>) = log(body, LogSeverity.Debug, attributes)
48+
49+
actual fun logInfo(body: String, attributes: Map<String, AttributeValue>) = log(body, LogSeverity.Info, attributes)
50+
51+
actual fun logWarning(body: String, attributes: Map<String, AttributeValue>) = log(body, LogSeverity.Warning, attributes)
52+
53+
actual fun logError(body: String, attributes: Map<String, AttributeValue>) = log(body, LogSeverity.Error, attributes)
54+
55+
actual fun logFatal(body: String, attributes: Map<String, AttributeValue>) = log(body, LogSeverity.Fatal, attributes)
56+
4757
actual fun startSpan(name: String): Span = AndroidMeasure.startSpan(name).toKmp()
4858

4959
actual fun startSpan(name: String, timestamp: Long): Span = AndroidMeasure.startSpan(name, timestamp).toKmp()

kmp/measure-kmp/src/appleMain/kotlin/sh/measure/kmp/Measure.ios.kt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,16 @@ actual object Measure {
9292
)
9393
}
9494

95+
actual fun logDebug(body: String, attributes: Map<String, AttributeValue>) = log(body, LogSeverity.Debug, attributes)
96+
97+
actual fun logInfo(body: String, attributes: Map<String, AttributeValue>) = log(body, LogSeverity.Info, attributes)
98+
99+
actual fun logWarning(body: String, attributes: Map<String, AttributeValue>) = log(body, LogSeverity.Warning, attributes)
100+
101+
actual fun logError(body: String, attributes: Map<String, AttributeValue>) = log(body, LogSeverity.Error, attributes)
102+
103+
actual fun logFatal(body: String, attributes: Map<String, AttributeValue>) = log(body, LogSeverity.Fatal, attributes)
104+
95105
actual fun startSpan(name: String): Span = IosSpan(IosMeasure.startSpanWithName(name))
96106

97107
actual fun startSpan(name: String, timestamp: Long): Span = IosSpan(IosMeasure.startSpanWithName(name, timestamp = timestamp))

kmp/measure-kmp/src/commonMain/kotlin/sh/measure/kmp/Measure.kt

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,31 @@ expect object Measure {
7272
attributes: Map<String, AttributeValue> = emptyMap(),
7373
)
7474

75+
/**
76+
* Tracks a log with [LogSeverity.Debug]. See [log] for details.
77+
*/
78+
fun logDebug(body: String, attributes: Map<String, AttributeValue> = emptyMap())
79+
80+
/**
81+
* Tracks a log with [LogSeverity.Info]. See [log] for details.
82+
*/
83+
fun logInfo(body: String, attributes: Map<String, AttributeValue> = emptyMap())
84+
85+
/**
86+
* Tracks a log with [LogSeverity.Warning]. See [log] for details.
87+
*/
88+
fun logWarning(body: String, attributes: Map<String, AttributeValue> = emptyMap())
89+
90+
/**
91+
* Tracks a log with [LogSeverity.Error]. See [log] for details.
92+
*/
93+
fun logError(body: String, attributes: Map<String, AttributeValue> = emptyMap())
94+
95+
/**
96+
* Tracks a log with [LogSeverity.Fatal]. See [log] for details.
97+
*/
98+
fun logFatal(body: String, attributes: Map<String, AttributeValue> = emptyMap())
99+
75100
/**
76101
* Starts a new performance tracing span with the specified name.
77102
*/
@@ -152,28 +177,3 @@ expect object Measure {
152177
client: String = "unknown",
153178
)
154179
}
155-
156-
/**
157-
* Tracks a log with [LogSeverity.Debug]. See [Measure.log] for details.
158-
*/
159-
fun Measure.logDebug(body: String, attributes: Map<String, AttributeValue> = emptyMap()) = log(body, LogSeverity.Debug, attributes)
160-
161-
/**
162-
* Tracks a log with [LogSeverity.Info]. See [Measure.log] for details.
163-
*/
164-
fun Measure.logInfo(body: String, attributes: Map<String, AttributeValue> = emptyMap()) = log(body, LogSeverity.Info, attributes)
165-
166-
/**
167-
* Tracks a log with [LogSeverity.Warning]. See [Measure.log] for details.
168-
*/
169-
fun Measure.logWarning(body: String, attributes: Map<String, AttributeValue> = emptyMap()) = log(body, LogSeverity.Warning, attributes)
170-
171-
/**
172-
* Tracks a log with [LogSeverity.Error]. See [Measure.log] for details.
173-
*/
174-
fun Measure.logError(body: String, attributes: Map<String, AttributeValue> = emptyMap()) = log(body, LogSeverity.Error, attributes)
175-
176-
/**
177-
* Tracks a log with [LogSeverity.Fatal]. See [Measure.log] for details.
178-
*/
179-
fun Measure.logFatal(body: String, attributes: Map<String, AttributeValue> = emptyMap()) = log(body, LogSeverity.Fatal, attributes)

0 commit comments

Comments
 (0)