Para resolver el error con esta traza completa:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Debemos añadir lo siguiente a las dependencias de gradle:
compile "ch.qos.logback:logback-classic:1.2.1"
De manera que nos quedarían de una forma similar a la siguiente:
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
testCompile group: 'junit', name: 'junit', version: '4.12'
compile "org.jetbrains.ktor:ktor-core:$ktor_version"
compile "org.jetbrains.ktor:ktor-netty:$ktor_version"
compile "ch.qos.logback:logback-classic:1.2.1"
}
Ahora, podremos reiniciar nuestro servidor y nos mostrará los mensajes de depuración en la consola:
19:56:27.833 [main] DEBUG io.netty.buffer.ByteBufUtil - -Dio.netty.allocator.type: pooled
19:56:27.833 [main] DEBUG io.netty.buffer.ByteBufUtil - -Dio.netty.threadLocalDirectBufferSize: 65536
19:56:27.833 [main] DEBUG io.netty.buffer.ByteBufUtil - -Dio.netty.maxThreadLocalCharBufferSize: 16384
Si queremos que nos muestre unos logs más entendibles y útiles, deberemos añadir un fichero llamado logback.xml al directorio src/main/resources con el siguiente contenido:
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{YYYY-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root level="trace">
<appender-ref ref="STDOUT"/>
</root>
<logger name="org.eclipse.jetty" level="INFO"/>
<logger name="io.netty" level="INFO"/>
</configuration>
Guardamos el fichero, reiniciamos el servidor, y veremos que nos mostrará los eventos de nuestras apis de la siguiente manera:
2018-02-26 20:02:14.316 [nettyCallPool-4-2] TRACE Application - 200 OK: GET - /