Skip to content

Commit d3d4dfc

Browse files
authored
CBL-7394 : Add mdns logging domain (#3446)
* Added mdns logging domain to both objective-c and swift * Reserved 128 and 256 value for bluetooth and wifi-aware that we may have in the future for multipeer replicator. * Changed Swift LogDomain type from UInt8 to UInt. * Fixed missing switch cases in CBLFileLogSink.mm. * Skip testConfigurationValidation as precondition cannot be asserted * We use Swift’s precondition() for parameter validation in Precondition.swift. Since it traps like fatalError, it cannot be asserted in tests, so the test is left disabled for manual runs. * Removed leftover debug logging
1 parent 0d77b80 commit d3d4dfc

File tree

12 files changed

+65
-41
lines changed

12 files changed

+65
-41
lines changed

Objective-C/CBLLog.mm

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,9 @@ - (void) logTo: (CBLLogDomain)domain level: (CBLLogLevel)level message: (NSStrin
133133
case kCBLLogDomainPeerDiscovery:
134134
c4Domain = kCBL_LogDomainDiscovery;
135135
break;
136+
case kCBLLogDomainMDNS:
137+
c4Domain = kCBL_LogDomainMDNS;
138+
break;
136139
case kCBLLogDomainMultipeer:
137140
c4Domain = kCBL_LogDomainP2P;
138141
break;

Objective-C/Internal/CBLLog+Logging.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ extern C4LogDomain kCBL_LogDomainSync;
4040
extern C4LogDomain kCBL_LogDomainWebSocket;
4141
extern C4LogDomain kCBL_LogDomainListener;
4242
extern C4LogDomain kCBL_LogDomainDiscovery;
43+
extern C4LogDomain kCBL_LogDomainMDNS;
4344
extern C4LogDomain kCBL_LogDomainP2P;
4445

4546
// Logging functions. For the domain, just use the part of the name between kCBL… and …LogDomain.

Objective-C/LogSink/CBLConsoleLogSink.mm

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,9 @@ - (NSString*) domainName: (CBLLogDomain)domain {
7070
case kCBLLogDomainPeerDiscovery:
7171
return @"PeerDiscovery";
7272
break;
73+
case kCBLLogDomainMDNS:
74+
return @"mDNS";
75+
break;
7376
case kCBLLogDomainMultipeer:
7477
return @"Multipeer";
7578
break;

Objective-C/LogSink/CBLFileLogSink.mm

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,11 +111,18 @@ - (void) writeLogWithLevel: (CBLLogLevel)level domain: (CBLLogDomain)domain mess
111111
case kCBLLogDomainNetwork:
112112
c4domain = kCBL_LogDomainWebSocket;
113113
break;
114-
#ifdef COUCHBASE_ENTERPRISE
115114
case kCBLLogDomainListener:
116115
c4domain = kCBL_LogDomainListener;
117116
break;
118-
#endif
117+
case kCBLLogDomainPeerDiscovery:
118+
c4domain = kCBL_LogDomainDiscovery;
119+
break;
120+
case kCBLLogDomainMDNS:
121+
c4domain = kCBL_LogDomainMDNS;
122+
break;
123+
case kCBLLogDomainMultipeer:
124+
c4domain = kCBL_LogDomainP2P;
125+
break;
119126
default:
120127
c4domain = kCBL_LogDomainDatabase;
121128
}

Objective-C/LogSink/CBLLogSinks.mm

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,10 @@
2727
C4LogDomain kCBL_LogDomainWebSocket;
2828
C4LogDomain kCBL_LogDomainListener;
2929
C4LogDomain kCBL_LogDomainDiscovery;
30+
C4LogDomain kCBL_LogDomainMDNS;
3031
C4LogDomain kCBL_LogDomainP2P;
3132

32-
static NSArray* c4Domains = @[@"DB", @"Query", @"Sync", @"WS", @"Listener", @"Discovery", @"P2P"];
33+
static NSArray* c4Domains = @[@"DB", @"Query", @"Sync", @"WS", @"Listener", @"Discovery", @"mDNS", @"P2P"];
3334
static NSArray* platformDomains = @[@"BLIP", @"BLIPMessages", @"SyncBusy", @"TLS", @"Changes", @"Zip"];
3435

3536
static CBLLogLevel _domainsLevel = kCBLLogLevelNone;
@@ -62,6 +63,7 @@ + (void) initialize {
6263
kCBL_LogDomainWebSocket = c4log_getDomain("WS", true);
6364
kCBL_LogDomainListener = c4log_getDomain("Listener", true);
6465
kCBL_LogDomainDiscovery = c4log_getDomain("Discovery", true);
66+
kCBL_LogDomainMDNS = c4log_getDomain("mDNS", true);
6567
kCBL_LogDomainP2P = c4log_getDomain("P2P", true);
6668

6769
// Create the default warning console log:
@@ -182,6 +184,7 @@ static CBLLogDomain toCBLLogDomain(C4LogDomain domain) {
182184
@"TLS": @(kCBLLogDomainNetwork),
183185
@"Listener": @(kCBLLogDomainListener),
184186
@"Discovery": @(kCBLLogDomainPeerDiscovery),
187+
@"mDNS": @(kCBLLogDomainMDNS),
185188
@"P2P": @(kCBLLogDomainMultipeer)
186189
};
187190
}

Objective-C/LogSink/CBLLogTypes.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,9 @@ typedef NS_OPTIONS(NSUInteger, CBLLogDomain) {
2727
kCBLLogDomainNetwork = 1 << 3, ///< Network domain.
2828
kCBLLogDomainListener = 1 << 4, ///< Listener domain.
2929
kCBLLogDomainPeerDiscovery = 1 << 5, ///< Peer Discovery domain.
30-
kCBLLogDomainMultipeer = 1 << 6, ///< Multipeer Replication domain.
31-
kCBLLogDomainAll = (1 << 7) - 1 ///< All domains
30+
kCBLLogDomainMDNS = 1 << 6, ///< mDNS specific logs used for DNS-SD peer discovery
31+
kCBLLogDomainMultipeer = 1 << 9, ///< Multipeer Replication domain.
32+
kCBLLogDomainAll = (1 << 10) - 1 ///< All domains
3233
};
3334

3435
/** Log level. */

Swift/ConsoleLogger.swift

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,17 @@ public struct LogDomains: OptionSet {
5151
/// Peer Discovery domain.
5252
public static let peerDiscovery = LogDomains(rawValue: Int(LogDomain.peerDiscovery.rawValue))
5353

54+
/// mDNS specific logs used for DNS-SD peer discovery.
55+
public static let mdns = LogDomains(rawValue: Int(LogDomain.mdns.rawValue))
56+
5457
/// Multipeer Replication domain.
5558
public static let multipeer = LogDomains(rawValue: Int(LogDomain.multipeer.rawValue))
5659

5760
/// All domains.
5861
public static let all: LogDomains = [
59-
.database, .query, .replicator, .network, .listener, .peerDiscovery, .multipeer
62+
.database, .query, .replicator, .network, .listener, .peerDiscovery, .mdns, .multipeer
6063
]
64+
6165
}
6266

6367
public class ConsoleLogger {

Swift/Log.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public class Log {
4040
let logLevel = CBLLogLevel(rawValue: UInt(logger.level.rawValue))!
4141
CBLDatabase.log().setCustomLoggerWith(logLevel) { (level, domain, message) in
4242
let l = LogLevel(rawValue: UInt8(level.rawValue))!
43-
let d = LogDomain(rawValue: UInt8(domain.rawValue))!
43+
let d = LogDomain(rawValue: domain.rawValue)!
4444
logger.log(level: l, domain: d, message: message)
4545
}
4646
} else {

Swift/LogSinks.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ public class LogSinks {
7575

7676
func writeLog(with level: CBLLogLevel, domain: CBLLogDomain, message: String) {
7777
let logLevel = LogLevel.init(rawValue: UInt8(level.rawValue))!
78-
let logDomain = LogDomain.init(rawValue: UInt8(domain.rawValue))!
78+
let logDomain = LogDomain.init(rawValue: domain.rawValue)!
7979
logSink.writeLog(level:logLevel, domain: logDomain, message: message)
8080
}
8181
}

Swift/Logger.swift

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,20 +21,30 @@ import Foundation
2121
import CouchbaseLiteSwift_Private
2222

2323
/// Log domain.
24-
///
25-
/// database: Database domain.
26-
/// query: Query domain.
27-
/// replicator: Replicator domain.
28-
/// network: Network domain.
29-
/// listener: Listener domain.
30-
public enum LogDomain: UInt8 {
24+
public enum LogDomain: UInt {
25+
/// Database domain.
3126
case database = 1
27+
28+
/// Query domain.
3229
case query = 2
30+
31+
/// Replicator domain.
3332
case replicator = 4
33+
34+
/// Network domain.
3435
case network = 8
36+
37+
/// Listener domain.
3538
case listener = 16
39+
40+
/// Peer Discovery domain.
3641
case peerDiscovery = 32
37-
case multipeer = 64
42+
43+
/// mDNS specific logs used for DNS-SD peer discovery
44+
case mdns = 64
45+
46+
/// Multipeer Replication domain
47+
case multipeer = 512
3848
}
3949

4050
/// Log level.

0 commit comments

Comments
 (0)