标签: kotlin-logging

在Kotlin登录的惯用方法

Kotlin没有与Java中使用的静态字段相同的概念.在Java中,普遍接受的日志记录方式是:

public class Foo {
    private static final Logger LOG = LoggerFactory.getLogger(Foo.class);
}
Run Code Online (Sandbox Code Playgroud)

问题是在Kotlin中执行日志记录的惯用方法是什么?

kotlin kotlin-logging

153
推荐指数
5
解决办法
3万
查看次数

如何配置kotlin-logging记录器

为了在我的Kotlin项目中进行日志记录,我使用的是kotlin-logging,这非常好用但是我错过了一个非常重要的问题:如何配置记录器的日志级别?

默认情况下,它设置为info,我想将其设置为调试.由于Github页面上没有任何内容,也没有任何方法可以通过编程方式设置级别,所以我查看了slf4j,因为kotlin-logging是一个包装器.

显然我必须像这样设置一个系统属性:

-Dorg.slf4j.simpleLogger.defaultLogLevel=DEBUG
Run Code Online (Sandbox Code Playgroud)

但是我不知道怎么在Kotlin这样做.

有人可以帮帮我吗?

logging kotlin kotlin-logging

9
推荐指数
2
解决办法
3084
查看次数

Kotlin 记录器 - 记录到文件

class LogToFile(context: Context) {
        companion object: KLogging()
        val formatter = SimpleFormatter()

        // val logger = LoggerFactory.getLogger("MyLog") **WITH THIS LINE...**

        val logger = Logger.getLogger("MyLog") //this line WORKS
        val dest = context.applicationContext.getExternalFilesDir(null);
        val fh = FileHandler(dest.path.plus(File.pathSeparator).plus("data.txt"))

        init {

            //..THIS LINE DOESN'T WORK (NO addHandler is there some ekvivalent for the LoggerFactory?)//

            logger.addHandler(fh)
            fh.formatter = formatter
        }


        fun write(logString: String) {

            try {

                logger.info(logString)

            } catch (e: SecurityException) {
                e.printStackTrace()
            } catch (e: IOException) {
                e.printStackTrace()
            }
        }
}
Run Code Online (Sandbox Code Playgroud)

**这是我拥有的一个功能代码,它接收日志并将其写入文件。

这几天一直没找到办法,怎么用 KotlinLogger 做同样的事情。 …

logging android kotlin kotlin-logging

5
推荐指数
1
解决办法
5571
查看次数

标签 统计

kotlin ×3

kotlin-logging ×3

logging ×2

android ×1