Skip to content
This repository was archived by the owner on Feb 9, 2026. It is now read-only.

Commit f191da9

Browse files
committed
feat: android writing to log file
1 parent 82f6afa commit f191da9

3 files changed

Lines changed: 40 additions & 11 deletions

File tree

lib/android/src/main/java/com/reactnativeldk/Helpers.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@ import java.net.URL
1010
import java.nio.channels.Channels
1111

1212
fun handleResolve(promise: Promise, res: LdkCallbackResponses) {
13-
LdkEventEmitter.send(EventTypes.native_log, "Success: ${res}")
13+
if (res != LdkCallbackResponses.log_write_success) {
14+
LdkEventEmitter.send(EventTypes.native_log, "Success: ${res}")
15+
}
1416
promise.resolve(res.toString());
1517
}
1618

lib/android/src/main/java/com/reactnativeldk/LdkModule.kt

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ enum class LdkCallbackResponses {
9292
fees_updated,
9393
log_level_updated,
9494
log_path_updated,
95+
log_write_success,
9596
chain_monitor_init_success,
9697
keys_manager_init_success,
9798
channel_manager_init_success,
@@ -200,6 +201,13 @@ class LdkModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaMod
200201
handleResolve(promise, LdkCallbackResponses.log_path_updated)
201202
}
202203

204+
@ReactMethod
205+
fun writeToLogFile(line: String, promise: Promise) {
206+
LogFile.write(line)
207+
208+
handleResolve(promise, LdkCallbackResponses.log_write_success)
209+
}
210+
203211
@ReactMethod
204212
fun initChainMonitor(promise: Promise) {
205213
if (chainMonitor !== null) {
@@ -338,9 +346,9 @@ class LdkModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaMod
338346
body.putInt("node_count", networkGraph!!.read_only().list_nodes().count())
339347
LdkEventEmitter.send(EventTypes.network_graph_updated, body)
340348
}
341-
342-
handleResolve(promise, LdkCallbackResponses.network_graph_init_success)
343349
}
350+
351+
handleResolve(promise, LdkCallbackResponses.network_graph_init_success)
344352
}
345353

346354
@ReactMethod
@@ -794,7 +802,7 @@ class LdkModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaMod
794802
}
795803

796804
@ReactMethod
797-
fun networkGraphListNodes(promise: Promise) {
805+
fun networkGraphListNodeIds(promise: Promise) {
798806
val graph = networkGraph?.read_only() ?: return handleReject(promise, LdkErrors.init_network_graph)
799807

800808
val total = graph.list_nodes().count()
@@ -809,11 +817,13 @@ class LdkModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaMod
809817
}
810818

811819
@ReactMethod
812-
fun networkGraphNode(nodeId: String, promise: Promise) {
820+
fun networkGraphNodes(nodeIds: ReadableArray, promise: Promise) {
813821
val graph = networkGraph?.read_only() ?: return handleReject(promise, LdkErrors.init_network_graph)
814822

815-
val id = NodeId.from_pubkey(nodeId.hexa())
816-
promise.resolve(graph.node(id)?.asJson)
823+
val list = Arguments.createArray()
824+
//TODO
825+
// val id = NodeId.from_pubkey(nodeId.hexa())
826+
promise.resolve(list)
817827
}
818828

819829
@ReactMethod

lib/android/src/main/java/com/reactnativeldk/classes/LdkLogger.kt

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,23 @@ import java.io.File
99
class LdkLogger {
1010
var activeLevels = HashMap<Int, Boolean>()
1111
var logger = Logger.new_impl{ record: Record ->
12-
if (activeLevels[record._level.ordinal] == true) {
12+
val level = record._level.ordinal
13+
if (activeLevels[level] == true) {
1314
LdkEventEmitter.send(EventTypes.ldk_log, record._args)
14-
LogFile.write(record._args)
15+
16+
var levelStr = "LEVEL $level"
17+
when (level) {
18+
0 -> levelStr = "GOSSIP"
19+
1 -> levelStr = "TRACE"
20+
2 -> levelStr = "DEBUG"
21+
3 -> levelStr = "INFO"
22+
4 -> levelStr = "WARN"
23+
5 -> levelStr = "ERROR"
24+
}
25+
26+
LogFile.write( "$levelStr (LDK): ${record._args}")
27+
} else {
28+
println("Skipping log level $level")
1529
}
1630
}
1731

@@ -25,15 +39,18 @@ object LogFile {
2539
private var logFile: File? = null
2640

2741
fun setFilePath(logFile: File) {
28-
if (!logFile!!.isFile) {
29-
logFile!!.createNewFile()
42+
if (!logFile.isFile) {
43+
logFile.createNewFile()
3044
}
45+
46+
this.logFile = logFile
3147
}
3248

3349
fun write(str: String) {
3450
if (logFile == null) {
3551
return
3652
}
53+
3754
logFile!!.appendText("${str}\n")
3855
}
3956
}

0 commit comments

Comments
 (0)