Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion common/main/java/com/couchbase/lite/internal/core/C4Log.java
Original file line number Diff line number Diff line change
Expand Up @@ -127,19 +127,30 @@ public boolean isInUse() {
m.put(C4Constants.LogDomain.SQL, LogDomain.DATABASE);
m.put(C4Constants.LogDomain.SYNC, LogDomain.REPLICATOR);
m.put(C4Constants.LogDomain.SYNC_BUSY, LogDomain.REPLICATOR);
// m.put(C4Constants.LogDomain.TLS, LogDomain.NETWORK);
m.put(C4Constants.LogDomain.TLS, LogDomain.NETWORK);
m.put(C4Constants.LogDomain.WEB_SOCKET, LogDomain.NETWORK);
m.put(C4Constants.LogDomain.ZIP, LogDomain.NETWORK);
LOGGING_DOMAIN_FROM_C4 = Collections.unmodifiableMap(m);
}

// LiteCore domains that are mapped, but whose level is left at the LiteCore default
@NonNull
private static final Set<String> MAPPED_ONLY_C4_LOGGING_DOMAINS;
static {
final Set<String> s = new HashSet<>();
s.add(C4Constants.LogDomain.TLS);
MAPPED_ONLY_C4_LOGGING_DOMAINS = Collections.unmodifiableSet(s);
}

@NonNull
private static final Map<LogDomain, Set<String>> LOGGING_DOMAIN_TO_C4;
private static final Set<String> KNOWN_C4_LOGGING_DOMAINS;
static {
final Set<String> s = new HashSet<>();
final Map<LogDomain, Set<String>> m = new HashMap<>();
for (Map.Entry<String, LogDomain> entry: LOGGING_DOMAIN_FROM_C4.entrySet()) {
if (MAPPED_ONLY_C4_LOGGING_DOMAINS.contains(entry.getKey())) { continue; }

final LogDomain domain = entry.getValue();

Set<String> domains = m.get(domain);
Expand Down
15 changes: 14 additions & 1 deletion common/test/java/com/couchbase/lite/logging/LogTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import com.couchbase.lite.LogDomain
import com.couchbase.lite.LogLevel
import com.couchbase.lite.getC4Db
import com.couchbase.lite.internal.QueryLanguage
import com.couchbase.lite.internal.core.C4Constants
import com.couchbase.lite.internal.core.C4Log
import com.couchbase.lite.internal.core.C4Query
import com.couchbase.lite.internal.core.C4TestUtils
Expand Down Expand Up @@ -42,7 +43,8 @@ private class ConsoleLogSinkDelegate : ConsoleLogSink.Delegate {

private class SingleLineLogSink(private val prefix: String? = null) : BaseLogSink(LogLevel.DEBUG) {
private var level: LogLevel? = null
private var domain: LogDomain? = null
var domain: LogDomain? = null
private set
private var message: String? = null
private var latch = CountDownLatch(1)

Expand Down Expand Up @@ -680,6 +682,17 @@ class LogTest : BaseDbTest() {
Assert.assertTrue(success)
}

@Test
fun testTLSLogDomain() {
val sink = SingleLineLogSink("TLS TEST")
LogSinks.get().custom = sink
Assert.assertEquals(C4Constants.LogLevel.WARNING, C4TestUtils.getLogLevel(C4Constants.LogDomain.TLS))

C4TestUtils.forceLog(C4Constants.LogDomain.TLS, C4Constants.LogLevel.WARNING, "TLS TEST")
Assert.assertNotNull(sink.awaitMessage())
Assert.assertEquals(LogDomain.NETWORK, sink.domain)
}

@Test
fun testNonASCII() {
val prefix = "HEBREW: "
Expand Down
Loading