personalizar custom color android printing kotlin

custom - Kotlin Android imprime a consola



ratingbar android color (5)

Necesito imprimir algunos str para consola (Android Studio) usando Kotlin. He intentado el

Log.v() Log.d() Log.i() Log.w() Log.e()

metodos Pero parece funcionar solo en Java. ¿Qué debo usar para imprimir utilizando Kotlin? Gracias



He escrito algunas funciones de extensión que utilizan parámetros de tipo reificado para evitar tratar con declarar etiquetas de registro en todas las clases del proyecto. La idea básica se muestra en el siguiente fragmento de código:

inline fun <reified T> T.logi(message: String) = Log.i(T::class.java.simpleName, message)

Básicamente, puede registrar algo en el logcat con la siguiente invocación (W / O dependencias externas):

logi("My log message")

Puedes encontrar una idea here . Las funciones declaradas en la esencia son un poco más elaboradas ya que permiten:

  • Evaluación perezosa de la cadena que se cerrará (si, por ejemplo, la cadena debe generarse de alguna manera)
  • Registro solo cuando está en modo de depuración por defecto
  • Use un nombre de clase dado cuando necesite iniciar sesión desde una clase anónima que no tenga nombre

Puedes usar la biblioteca de Anko para hacerlo. Tendrías un código como el siguiente:

class MyActivity : Activity(), AnkoLogger { private fun someMethod() { info("This is my first app and it''s awesome") debug(1234) warn("Warning") } }

o también puede usar esta pequeña biblioteca escrita en Kotlin llamada StaticLog entonces su código se vería así:

Log.info("This is an info message") Log.debug("This is a debug message") Log.warn("This is a warning message","WithACustomTag") Log.error("This is an error message with an additional Exception for output", "AndACustomTag", exception ) Log.logLevel = LogLevel.WARN Log.info("This message will not be shown")/

La segunda solución podría mejorar si desea definir un formato de salida para el método de registro como:

Log.newFormat { line(date("yyyy-MM-dd HH:mm:ss"), space, level, text("/"), tag, space(2), message, space(2), occurrence) }

o utilizar filtros, por ejemplo:

Log.filterTag = "filterTag" Log.info("This log will be filtered out", "otherTag") Log.info("This log has the right tag", "filterTag")

Si ya usó la biblioteca de registro de Timber Jake Wharton, verifique este proyecto: https://github.com/ajalt/timberkt .

Compruebe también: Inicio de sesión en Kotlin y Android: AnkoLogger vs kotlin-logging

Espero que ayude



en este momento (android studio 2.3.3 con el plugin kotlin), Log.i (TAG, "Hello World") simplemente funciona. Se importará android.util.Log