Я хочу изменить эту функцию вспомогательного журнала, чтобы распечатать идентификатор или имени Coroutine. < /p>
@JvmInline
value class MyLogger(private val tag: String) {
fun log(level: Level, e: Throwable? = null, message: String) {
if (isLoggingEnabled(level)) {
val logTime = System.currentTimeMillis()
val messageWithCoroutineInfo = "Running on: [${Thread.currentThread().name}] | $message"
when (level) {
Level.VERBOSE -> Log.v(tag, messageWithCoroutineInfo, e)
Level.DEBUG -> Log.d(tag, messageWithCoroutineInfo, e)
Level.INFO -> Log.i(tag, messageWithCoroutineInfo, e)
Level.WARN -> Log.w(tag, messageWithCoroutineInfo, e)
Level.ERROR -> Log.e(tag, messageWithCoroutineInfo, e)
Level.ASSERT -> Log.wtf(tag, messageWithCoroutineInfo, e)
}
}
}
....
}
private val logger = MYLogger("Navigator")
logger.i { "goTo: $screen; backstack: [${backStack.joinToString()}]" }
< /code>
В функции Oncreate: < /p>
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
System.setProperty("kotlinx.coroutines.debug", if(!BuildTypes.isProduction) "on" else "off")
< /code>
он может распечатать имя потока, но оно не может распечатать идентификатор или имя Coroutine, например, [awt-eventqueue-0 @coroutine#40], любое предложение? /п>
Подробнее здесь: https://stackoverflow.com/questions/794 ... g-function
Android, как распечатать идентификатор или имя COROUTINE в пользовательской функции журнала ⇐ Android
Форум для тех, кто программирует под Android
1739415123
Anonymous
Я хочу изменить эту функцию вспомогательного журнала, чтобы распечатать идентификатор или имени Coroutine. < /p>
@JvmInline
value class MyLogger(private val tag: String) {
fun log(level: Level, e: Throwable? = null, message: String) {
if (isLoggingEnabled(level)) {
val logTime = System.currentTimeMillis()
val messageWithCoroutineInfo = "Running on: [${Thread.currentThread().name}] | $message"
when (level) {
Level.VERBOSE -> Log.v(tag, messageWithCoroutineInfo, e)
Level.DEBUG -> Log.d(tag, messageWithCoroutineInfo, e)
Level.INFO -> Log.i(tag, messageWithCoroutineInfo, e)
Level.WARN -> Log.w(tag, messageWithCoroutineInfo, e)
Level.ERROR -> Log.e(tag, messageWithCoroutineInfo, e)
Level.ASSERT -> Log.wtf(tag, messageWithCoroutineInfo, e)
}
}
}
....
}
private val logger = MYLogger("Navigator")
logger.i { "goTo: $screen; backstack: [${backStack.joinToString()}]" }
< /code>
В функции Oncreate: < /p>
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
System.setProperty("kotlinx.coroutines.debug", if(!BuildTypes.isProduction) "on" else "off")
< /code>
он может распечатать имя потока, но оно не может распечатать идентификатор или имя Coroutine, например, [awt-eventqueue-0 @coroutine#40], любое предложение? /п>
Подробнее здесь: [url]https://stackoverflow.com/questions/79434965/android-how-to-print-out-coroutine-id-or-name-on-a-custom-log-function[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия