Каким-то образом выясните в журнале, находится ли он внутри сопрограммы, и получите coroutineContext.Возможно ли это?
Я не думаю, что есть хорошее решение для этого.
Я бы создал две log
функции, сначала для общего назначения, затем - для расширенияфункция на CoroutineScope
для сопрограмм:
fun log(message: String) {...}
fun CoroutineScope.log(message: String) {
//here you can access coroutineContext
}
И если вы вызываете функцию log
из сопрограммы, например:
GlobalScope.launch {
log("CoroutineScope.log")
}
, будет вызвана функция расширения, и вы получитедоступ к coroutineContext .
Примечание: GlobalScope не рекомендуется использовать, это только для демонстрационных целей.