diff --git a/library/libsds.nim b/library/libsds.nim index 53d2a4e..ea95844 100644 --- a/library/libsds.nim +++ b/library/libsds.nim @@ -104,13 +104,23 @@ proc libsdsNimMain() {.importc.} # To control when the library has been initialized var initialized: Atomic[bool] -if defined(android): +when defined(android): # Redirect chronicles to Android System logs when compiles(defaultChroniclesStream.outputs[0].writer): defaultChroniclesStream.outputs[0].writer = proc( logLevel: LogLevel, msg: LogOutputStr ) {.raises: [].} = echo logLevel, msg +else: + # For non-android, configure Chronicles with a null writer to suppress logs + # or redirect to a proper logging mechanism + when compiles(defaultChroniclesStream.outputs[0].writer): + defaultChroniclesStream.outputs[0].writer = proc( + logLevel: LogLevel, msg: LogOutputStr + ) {.raises: [].} = + # Only log ERROR and FATAL levels to reduce verbosity + if logLevel >= LogLevel.ERROR: + echo "[nim-sds] ", logLevel, ": ", msg proc initializeLibrary() {.exported.} = if not initialized.exchange(true): diff --git a/library/sds_thread/inter_thread_communication/requests/sds_message_request.nim b/library/sds_thread/inter_thread_communication/requests/sds_message_request.nim index ea42519..704ce91 100644 --- a/library/sds_thread/inter_thread_communication/requests/sds_message_request.nim +++ b/library/sds_thread/inter_thread_communication/requests/sds_message_request.nim @@ -63,7 +63,7 @@ proc process*( let messageBytes = self.message.toSeq() let (unwrappedMessage, missingDeps, channelId) = unwrapReceivedMessage(rm[], messageBytes).valueOr: - error "UNWRAP_MESSAGE failed", error = error + debug "UNWRAP_MESSAGE failed", error = error return err("error processing UNWRAP_MESSAGE request: " & $error) let res = SdsUnwrapResponse(message: unwrappedMessage, missingDeps: missingDeps, channelId: channelId) diff --git a/src/reliability.nim b/src/reliability.nim index a39fac3..1c25445 100644 --- a/src/reliability.nim +++ b/src/reliability.nim @@ -55,7 +55,7 @@ proc reviewAckStatus(rm: ReliabilityManager, msg: SdsMessage) {.gcsafe.} = ) ) else: - error "Failed to deserialize bloom filter", error = bfResult.error + debug "Failed to deserialize bloom filter", error = bfResult.error rbf = none[RollingBloomFilter]() else: rbf = none[RollingBloomFilter]() @@ -106,7 +106,7 @@ proc wrapOutgoingMessage*( let bfResult = serializeBloomFilter(channel.bloomFilter.filter) if bfResult.isErr: - error "Failed to serialize bloom filter", channelId = channelId + debug "Failed to serialize bloom filter", channelId = channelId return err(ReliabilityError.reSerializationError) let msg = SdsMessage( @@ -230,7 +230,7 @@ proc unwrapReceivedMessage*( return ok((msg.content, missingDeps, channelId)) except Exception: - error "Failed to unwrap message", msg = getCurrentExceptionMsg() + debug "Failed to unwrap message", msg = getCurrentExceptionMsg() return err(ReliabilityError.reDeserializationError) proc markDependenciesMet*( diff --git a/src/rolling_bloom_filter.nim b/src/rolling_bloom_filter.nim index 190ab8a..cc9b98e 100644 --- a/src/rolling_bloom_filter.nim +++ b/src/rolling_bloom_filter.nim @@ -78,7 +78,7 @@ proc clean*(rbf: var RollingBloomFilter) {.gcsafe.} = # Initialize new filter var newFilter = initializeBloomFilter(rbf.maxCapacity, rbf.filter.errorRate).valueOr: - error "Failed to create new bloom filter", error = $error + debug "Failed to create new bloom filter", error = $error return # Keep most recent messages up to minCapacity @@ -93,7 +93,7 @@ proc clean*(rbf: var RollingBloomFilter) {.gcsafe.} = rbf.messages = newMessages rbf.filter = newFilter except Exception: - error "Failed to clean bloom filter", error = getCurrentExceptionMsg() + debug "Failed to clean bloom filter", error = getCurrentExceptionMsg() proc add*(rbf: var RollingBloomFilter, messageId: SdsMessageID) {.gcsafe.} = ## Adds a message ID to the rolling bloom filter.