当前位置: 首页 > news >正文

Cloudopt-logger — Kotlin 实现的日志框架扩展

Cloudopt-logger 是一个基于 Kotlin 开发的可扩展、可配置的日志框架扩展,支持 Java、Kotlin 及 Android。

111417_BsJr_2720166.jpg

111441_XqbR_2720166.jpg

具有以下特性:

  • 支持彩色的日志输出。

  • 支持多种日志框架,如Slf4j、Log4j等等。

  • 易于扩展。

  • 更人性化和方便调试的输出。

中文文档

安装

在Maven中引入:

<dependency>
    <groupId>net.cloudopt.logger</groupId>
    <artifactId>cloudopt-logger</artifactId>
    <version>1.0.1</version>
</dependency>

如果您是使用Slf4j的话,需要引入相应的库,如:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.25</version>
</dependency>
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.2.3</version>
</dependency>

如何使用

使用起来非常简单,只需要引入Logger类即可,下面是几个示例:

package net.cloudopt.logger
import org.junit.Test

class TestCase {

    private val logger = Logger.getLogger(TestCase::class.java)

    @Test
    fun example1() {
        logger.debug("Start init....")
        logger.info("Operation successful!")
        logger.warn("The value must be not nul.")
        logger.error("Unable to acquire lock!")
    }

    @Test
    fun example2() {
        logger.info("Please Wait.... ${Colorer.blue("100")}")
        logger.info("Please Wait.... ${Colorer.yellow("200")}")
        logger.info("Please Wait.... ${Colorer.red("300")}")
    }

    @Test
    fun example3() {
        val configuration = LoggerConfiguration()
        configuration.run {
            this.color = false
        }
        Logger.configuration = configuration
        example1()
    }

    @Test
    fun example4() {
        val configuration = LoggerConfiguration()
        configuration.run {
            this.debugPrefix = "DEBUG"
            this.infoPrefix = "INFO"
            this.warnPrefix = "WARN"
            this.errorPrefix = "ERROR"
        }
        Logger.configuration = configuration
        example1()
    }
}

如果您想要修改任何输出的字符的颜色,只需要通过Colorer.xxx的方法包裹即可。目前已经内置了八种颜色。

如何扩展

目前已经内置了对Slf4j的支持,通过Slf4j可以支持logback、log4j、log4j2等等,如果您需要直接支持或者支持其他日志框架,您可以参考Slf4jLoggerProvider,自行实现。

本文来自云栖社区合作伙伴“开源中国”

本文作者:h4cd

原文链接

相关文章:

  • Linux日记本_04:阿里云ECS服务器(CentOS7)端口设置以及 MySQL数据库搭建
  • [js]- 两个对象的合并(Object.assign)
  • 火币交易细则
  • 阿里云服务器配置过程
  • redirectTo、navigateTo与switchTap区别
  • python3 猜数字小游戏2.0
  • python函数式编程一
  • .NET性能优化(文摘)
  • CentOS 7.5 运维之路之网络配置
  • Linux日志分析详解
  • 高德地图大批量数据(上万)画历史轨迹实现方案
  • java并发包
  • 爬取伯乐在线文章(二)通过xpath提取源文件中需要的内容
  • yum工具介绍及本地源配置方法
  • Vuex的模块化、优点
  • Akka系列(七):Actor持久化之Akka persistence
  • HTTP那些事
  • Java 多线程编程之:notify 和 wait 用法
  • Leetcode 27 Remove Element
  • MYSQL 的 IF 函数
  • SQL 难点解决:记录的引用
  • Vue.js源码(2):初探List Rendering
  • 百度小程序遇到的问题
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 前端存储 - localStorage
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ​secrets --- 生成管理密码的安全随机数​
  • ​马来语翻译中文去哪比较好?
  • ​如何在iOS手机上查看应用日志
  • ​业务双活的数据切换思路设计(下)
  • !!java web学习笔记(一到五)
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (笔试题)分解质因式
  • (汇总)os模块以及shutil模块对文件的操作
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (九十四)函数和二维数组
  • (实战篇)如何缓存数据
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (一)u-boot-nand.bin的下载
  • (转)四层和七层负载均衡的区别
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...
  • .NET Micro Framework 4.2 beta 源码探析
  • .NET Reactor简单使用教程
  • .Net 代码性能 - (1)
  • .net 微服务 服务保护 自动重试 Polly
  • .NET 中什么样的类是可使用 await 异步等待的?
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .net6 webapi log4net完整配置使用流程
  • .NetCore实践篇:分布式监控Zipkin持久化之殇
  • .NET和.COM和.CN域名区别
  • .NET开发者必备的11款免费工具
  • .Net转Java自学之路—基础巩固篇十三(集合)
  • [1]-基于图搜索的路径规划基础