Skip to content

Commit fef4582

Browse files
committed
Separate enum for SentryLogLevel
1 parent 217f7c7 commit fef4582

8 files changed

Lines changed: 97 additions & 36 deletions

File tree

sentry/api/sentry.api

Lines changed: 29 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3023,17 +3023,17 @@ public final class io/sentry/SentryLockReason$JsonKeys {
30233023
}
30243024

30253025
public final class io/sentry/SentryLogEvent : io/sentry/JsonSerializable, io/sentry/JsonUnknown {
3026-
public fun <init> (Lio/sentry/protocol/SentryId;Lio/sentry/SentryDate;Ljava/lang/String;Lio/sentry/SentryLevel;)V
3027-
public fun <init> (Lio/sentry/protocol/SentryId;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/SentryLevel;)V
3026+
public fun <init> (Lio/sentry/protocol/SentryId;Lio/sentry/SentryDate;Ljava/lang/String;Lio/sentry/SentryLogLevel;)V
3027+
public fun <init> (Lio/sentry/protocol/SentryId;Ljava/lang/Double;Ljava/lang/String;Lio/sentry/SentryLogLevel;)V
30283028
public fun getAttributes ()Ljava/util/Map;
30293029
public fun getBody ()Ljava/lang/String;
3030-
public fun getLevel ()Lio/sentry/SentryLevel;
3030+
public fun getLevel ()Lio/sentry/SentryLogLevel;
30313031
public fun getTimestamp ()Ljava/lang/Double;
30323032
public fun getUnknown ()Ljava/util/Map;
30333033
public fun serialize (Lio/sentry/ObjectWriter;Lio/sentry/ILogger;)V
30343034
public fun setAttributes (Ljava/util/Map;)V
30353035
public fun setBody (Ljava/lang/String;)V
3036-
public fun setLevel (Lio/sentry/SentryLevel;)V
3036+
public fun setLevel (Lio/sentry/SentryLogLevel;)V
30373037
public fun setTimestamp (Ljava/lang/Double;)V
30383038
public fun setUnknown (Ljava/util/Map;)V
30393039
}
@@ -3091,6 +3091,25 @@ public final class io/sentry/SentryLogEvents$JsonKeys {
30913091
public fun <init> ()V
30923092
}
30933093

3094+
public final class io/sentry/SentryLogLevel : java/lang/Enum, io/sentry/JsonSerializable {
3095+
public static final field DEBUG Lio/sentry/SentryLogLevel;
3096+
public static final field ERROR Lio/sentry/SentryLogLevel;
3097+
public static final field FATAL Lio/sentry/SentryLogLevel;
3098+
public static final field INFO Lio/sentry/SentryLogLevel;
3099+
public static final field TRACE Lio/sentry/SentryLogLevel;
3100+
public static final field WARN Lio/sentry/SentryLogLevel;
3101+
public fun getSeverityNumber ()I
3102+
public fun serialize (Lio/sentry/ObjectWriter;Lio/sentry/ILogger;)V
3103+
public static fun valueOf (Ljava/lang/String;)Lio/sentry/SentryLogLevel;
3104+
public static fun values ()[Lio/sentry/SentryLogLevel;
3105+
}
3106+
3107+
public final class io/sentry/SentryLogLevel$Deserializer : io/sentry/JsonDeserializer {
3108+
public fun <init> ()V
3109+
public fun deserialize (Lio/sentry/ObjectReader;Lio/sentry/ILogger;)Lio/sentry/SentryLogLevel;
3110+
public synthetic fun deserialize (Lio/sentry/ObjectReader;Lio/sentry/ILogger;)Ljava/lang/Object;
3111+
}
3112+
30943113
public final class io/sentry/SentryLongDate : io/sentry/SentryDate {
30953114
public fun <init> (J)V
30963115
public fun nanoTimestamp ()J
@@ -4664,8 +4683,8 @@ public abstract interface class io/sentry/logger/ILoggerApi {
46644683
public abstract fun error (Ljava/lang/String;[Ljava/lang/Object;)V
46654684
public abstract fun fatal (Ljava/lang/String;[Ljava/lang/Object;)V
46664685
public abstract fun info (Ljava/lang/String;[Ljava/lang/Object;)V
4667-
public abstract fun log (Lio/sentry/SentryLevel;Lio/sentry/SentryDate;Ljava/lang/String;Lio/sentry/Hint;[Ljava/lang/Object;)V
4668-
public abstract fun log (Lio/sentry/SentryLevel;Ljava/lang/String;[Ljava/lang/Object;)V
4686+
public abstract fun log (Lio/sentry/SentryLogLevel;Lio/sentry/SentryDate;Ljava/lang/String;Lio/sentry/Hint;[Ljava/lang/Object;)V
4687+
public abstract fun log (Lio/sentry/SentryLogLevel;Ljava/lang/String;[Ljava/lang/Object;)V
46694688
public abstract fun trace (Ljava/lang/String;[Ljava/lang/Object;)V
46704689
public abstract fun warn (Ljava/lang/String;[Ljava/lang/Object;)V
46714690
}
@@ -4681,8 +4700,8 @@ public final class io/sentry/logger/LoggerApi : io/sentry/logger/ILoggerApi {
46814700
public fun error (Ljava/lang/String;[Ljava/lang/Object;)V
46824701
public fun fatal (Ljava/lang/String;[Ljava/lang/Object;)V
46834702
public fun info (Ljava/lang/String;[Ljava/lang/Object;)V
4684-
public fun log (Lio/sentry/SentryLevel;Lio/sentry/SentryDate;Ljava/lang/String;Lio/sentry/Hint;[Ljava/lang/Object;)V
4685-
public fun log (Lio/sentry/SentryLevel;Ljava/lang/String;[Ljava/lang/Object;)V
4703+
public fun log (Lio/sentry/SentryLogLevel;Lio/sentry/SentryDate;Ljava/lang/String;Lio/sentry/Hint;[Ljava/lang/Object;)V
4704+
public fun log (Lio/sentry/SentryLogLevel;Ljava/lang/String;[Ljava/lang/Object;)V
46864705
public fun trace (Ljava/lang/String;[Ljava/lang/Object;)V
46874706
public fun warn (Ljava/lang/String;[Ljava/lang/Object;)V
46884707
}
@@ -4701,8 +4720,8 @@ public final class io/sentry/logger/NoOpLoggerApi : io/sentry/logger/ILoggerApi
47014720
public fun fatal (Ljava/lang/String;[Ljava/lang/Object;)V
47024721
public static fun getInstance ()Lio/sentry/logger/NoOpLoggerApi;
47034722
public fun info (Ljava/lang/String;[Ljava/lang/Object;)V
4704-
public fun log (Lio/sentry/SentryLevel;Lio/sentry/SentryDate;Ljava/lang/String;Lio/sentry/Hint;[Ljava/lang/Object;)V
4705-
public fun log (Lio/sentry/SentryLevel;Ljava/lang/String;[Ljava/lang/Object;)V
4723+
public fun log (Lio/sentry/SentryLogLevel;Lio/sentry/SentryDate;Ljava/lang/String;Lio/sentry/Hint;[Ljava/lang/Object;)V
4724+
public fun log (Lio/sentry/SentryLogLevel;Ljava/lang/String;[Ljava/lang/Object;)V
47064725
public fun trace (Ljava/lang/String;[Ljava/lang/Object;)V
47074726
public fun warn (Ljava/lang/String;[Ljava/lang/Object;)V
47084727
}

sentry/src/main/java/io/sentry/SentryLogEvent.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public final class SentryLogEvent implements JsonUnknown, JsonSerializable {
1515
private @NotNull SentryId traceId;
1616
private @NotNull Double timestamp;
1717
private @NotNull String body;
18-
private @NotNull SentryLevel level;
18+
private @NotNull SentryLogLevel level;
1919

2020
private @Nullable Map<String, SentryLogEventAttributeValue> attributes;
2121
private @Nullable Map<String, Object> unknown;
@@ -24,15 +24,15 @@ public SentryLogEvent(
2424
final @NotNull SentryId traceId,
2525
final @NotNull SentryDate timestamp,
2626
final @NotNull String body,
27-
final @NotNull SentryLevel level) {
27+
final @NotNull SentryLogLevel level) {
2828
this(traceId, DateUtils.nanosToSeconds(timestamp.nanoTimestamp()), body, level);
2929
}
3030

3131
public SentryLogEvent(
3232
final @NotNull SentryId traceId,
3333
final @NotNull Double timestamp,
3434
final @NotNull String body,
35-
final @NotNull SentryLevel level) {
35+
final @NotNull SentryLogLevel level) {
3636
this.traceId = traceId;
3737
this.timestamp = timestamp;
3838
this.body = body;
@@ -56,11 +56,11 @@ public void setBody(@NotNull String body) {
5656
this.body = body;
5757
}
5858

59-
public @NotNull SentryLevel getLevel() {
59+
public @NotNull SentryLogLevel getLevel() {
6060
return level;
6161
}
6262

63-
public void setLevel(final @NotNull SentryLevel level) {
63+
public void setLevel(final @NotNull SentryLogLevel level) {
6464
this.level = level;
6565
}
6666

@@ -123,7 +123,7 @@ public static final class Deserializer implements JsonDeserializer<SentryLogEven
123123
@Nullable SentryId traceId = null;
124124
@Nullable Double timestamp = null;
125125
@Nullable String body = null;
126-
@Nullable SentryLevel level = null;
126+
@Nullable SentryLogLevel level = null;
127127
@Nullable Map<String, SentryLogEventAttributeValue> attributes = null;
128128

129129
reader.beginObject();
@@ -140,7 +140,7 @@ public static final class Deserializer implements JsonDeserializer<SentryLogEven
140140
body = reader.nextStringOrNull();
141141
break;
142142
case JsonKeys.LEVEL:
143-
level = reader.nextOrNull(logger, new SentryLevel.Deserializer());
143+
level = reader.nextOrNull(logger, new SentryLogLevel.Deserializer());
144144
break;
145145
case JsonKeys.ATTRIBUTES:
146146
attributes =
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package io.sentry;
2+
3+
import java.io.IOException;
4+
import java.util.Locale;
5+
import org.jetbrains.annotations.NotNull;
6+
7+
/** the SentryLevel for Logs */
8+
public enum SentryLogLevel implements JsonSerializable {
9+
TRACE(1),
10+
DEBUG(5),
11+
INFO(9),
12+
WARN(13),
13+
ERROR(17),
14+
FATAL(21);
15+
16+
private final int severityNumber;
17+
18+
private SentryLogLevel(int severityNumber) {
19+
this.severityNumber = severityNumber;
20+
}
21+
22+
public int getSeverityNumber() {
23+
return severityNumber;
24+
}
25+
26+
@Override
27+
public void serialize(final @NotNull ObjectWriter writer, final @NotNull ILogger logger)
28+
throws IOException {
29+
writer.value(name().toLowerCase(Locale.ROOT));
30+
}
31+
32+
public static final class Deserializer implements JsonDeserializer<SentryLogLevel> {
33+
34+
@Override
35+
public @NotNull SentryLogLevel deserialize(
36+
@NotNull ObjectReader reader, @NotNull ILogger logger) throws Exception {
37+
return SentryLogLevel.valueOf(reader.nextString().toUpperCase(Locale.ROOT));
38+
}
39+
}
40+
}

sentry/src/main/java/io/sentry/logger/ILoggerApi.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import io.sentry.Hint;
44
import io.sentry.SentryDate;
5-
import io.sentry.SentryLevel;
5+
import io.sentry.SentryLogLevel;
66
import org.jetbrains.annotations.ApiStatus;
77
import org.jetbrains.annotations.NotNull;
88
import org.jetbrains.annotations.Nullable;
@@ -22,10 +22,10 @@ public interface ILoggerApi {
2222

2323
void fatal(final @Nullable String message, @Nullable Object... args);
2424

25-
void log(@NotNull SentryLevel level, @Nullable String message, @Nullable Object... args);
25+
void log(@NotNull SentryLogLevel level, @Nullable String message, @Nullable Object... args);
2626

2727
void log(
28-
@NotNull SentryLevel level,
28+
@NotNull SentryLogLevel level,
2929
@Nullable SentryDate timestamp,
3030
@Nullable String message,
3131
final @Nullable Hint hint,

sentry/src/main/java/io/sentry/logger/LoggerApi.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import io.sentry.SentryLevel;
1010
import io.sentry.SentryLogEvent;
1111
import io.sentry.SentryLogEventAttributeValue;
12+
import io.sentry.SentryLogLevel;
1213
import io.sentry.SentryOptions;
1314
import io.sentry.SpanId;
1415
import io.sentry.clientreport.DiscardReason;
@@ -33,45 +34,45 @@ public LoggerApi(final @NotNull Scopes scopes) {
3334
@Override
3435
public void trace(final @Nullable String message, final @Nullable Object... args) {
3536
// TODO SentryLevel.TRACE does not exists yet so we just report it as DEBUG for now
36-
log(SentryLevel.DEBUG, message, args);
37+
log(SentryLogLevel.DEBUG, message, args);
3738
}
3839

3940
@Override
4041
public void debug(final @Nullable String message, final @Nullable Object... args) {
41-
log(SentryLevel.DEBUG, message, args);
42+
log(SentryLogLevel.DEBUG, message, args);
4243
}
4344

4445
@Override
4546
public void info(final @Nullable String message, final @Nullable Object... args) {
46-
log(SentryLevel.INFO, message, args);
47+
log(SentryLogLevel.INFO, message, args);
4748
}
4849

4950
@Override
5051
public void warn(final @Nullable String message, final @Nullable Object... args) {
51-
log(SentryLevel.WARNING, message, args);
52+
log(SentryLogLevel.WARN, message, args);
5253
}
5354

5455
@Override
5556
public void error(final @Nullable String message, final @Nullable Object... args) {
56-
log(SentryLevel.ERROR, message, args);
57+
log(SentryLogLevel.ERROR, message, args);
5758
}
5859

5960
@Override
6061
public void fatal(final @Nullable String message, final @Nullable Object... args) {
61-
log(SentryLevel.FATAL, message, args);
62+
log(SentryLogLevel.FATAL, message, args);
6263
}
6364

6465
@Override
6566
public void log(
66-
final @NotNull SentryLevel level,
67+
final @NotNull SentryLogLevel level,
6768
final @Nullable String message,
6869
final @Nullable Object... args) {
6970
log(level, null, message, null, args);
7071
}
7172

7273
@Override
7374
public void log(
74-
final @NotNull SentryLevel level,
75+
final @NotNull SentryLogLevel level,
7576
final @Nullable SentryDate timestamp,
7677
final @Nullable String message,
7778
final @Nullable Hint hint,
@@ -81,7 +82,7 @@ public void log(
8182

8283
@SuppressWarnings("AnnotateFormatMethod")
8384
private void captureLog(
84-
final @NotNull SentryLevel level,
85+
final @NotNull SentryLogLevel level,
8586
final @Nullable SentryDate timestamp,
8687
final @Nullable Hint hint,
8788
final @Nullable String message,

sentry/src/main/java/io/sentry/logger/NoOpLoggerApi.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import io.sentry.Hint;
44
import io.sentry.SentryDate;
5-
import io.sentry.SentryLevel;
5+
import io.sentry.SentryLogLevel;
66
import org.jetbrains.annotations.ApiStatus;
77
import org.jetbrains.annotations.NotNull;
88
import org.jetbrains.annotations.Nullable;
@@ -49,13 +49,14 @@ public void fatal(@Nullable String message, @Nullable Object... args) {
4949
}
5050

5151
@Override
52-
public void log(@NotNull SentryLevel level, @Nullable String message, @Nullable Object... args) {
52+
public void log(
53+
@NotNull SentryLogLevel level, @Nullable String message, @Nullable Object... args) {
5354
// do nothing
5455
}
5556

5657
@Override
5758
public void log(
58-
@NotNull SentryLevel level,
59+
@NotNull SentryLogLevel level,
5960
@Nullable SentryDate timestamp,
6061
@Nullable String message,
6162
final @Nullable Hint hint,

sentry/src/test/java/io/sentry/protocol/SentryLogsSerializationTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ import io.sentry.ILogger
66
import io.sentry.JsonObjectReader
77
import io.sentry.JsonObjectWriter
88
import io.sentry.JsonSerializable
9-
import io.sentry.SentryLevel
109
import io.sentry.SentryLogEvent
1110
import io.sentry.SentryLogEventAttributeValue
1211
import io.sentry.SentryLogEvents
12+
import io.sentry.SentryLogLevel
1313
import org.junit.Test
1414
import org.mockito.kotlin.mock
1515
import java.io.StringReader
@@ -26,7 +26,7 @@ class SentryLogsSerializationTest {
2626
SentryId("5c1f73d39486827b9e60ceb1fc23277a"),
2727
DateUtils.dateToSeconds(DateUtils.getDateTime("2004-04-10T18:24:03.000Z")),
2828
"42e6bd2a-c45e-414d-8066-ed5196fbc686",
29-
SentryLevel.INFO
29+
SentryLogLevel.INFO
3030
).also {
3131
it.attributes = mutableMapOf(
3232
"sentry.sdk.name" to SentryLogEventAttributeValue("string", "sentry.java.spring-boot.jakarta"),

sentry/src/test/java/io/sentry/transport/RateLimiterTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ import io.sentry.SentryEnvelope
1616
import io.sentry.SentryEnvelopeHeader
1717
import io.sentry.SentryEnvelopeItem
1818
import io.sentry.SentryEvent
19-
import io.sentry.SentryLevel
2019
import io.sentry.SentryLogEvent
2120
import io.sentry.SentryLogEvents
21+
import io.sentry.SentryLogLevel
2222
import io.sentry.SentryLongDate
2323
import io.sentry.SentryOptions
2424
import io.sentry.SentryOptionsManipulator
@@ -350,7 +350,7 @@ class RateLimiterTest {
350350
fixture.serializer,
351351
SentryLogEvents(
352352
listOf(
353-
SentryLogEvent(SentryId(), SentryLongDate(0), "hello", SentryLevel.INFO)
353+
SentryLogEvent(SentryId(), SentryLongDate(0), "hello", SentryLogLevel.INFO)
354354
)
355355
)
356356
)

0 commit comments

Comments
 (0)