tinylog-轻量级开源日志框架使用记录

  • 前段时间,日志框架各种爆雷,包括:Log4j 1.x, Log4j 2.x, Logback 等都有爆雷,几乎是团灭。
    Log4j, Logback 都是主流的日志框架,功能也非常强大,不仅仅是日志记录,所以,功能多,自然也会带来更多的漏洞。。

今天发现一款轻量日志框架,tinylog

基本介绍

官方网站:https://tinylog.org/
开源地址:https://github.com/tinylog-org/tinylog

支持的日志级别:

TRACE
DEBUG
INFO
WARN
ERROR
OFF(禁用日志输出)

轻量级

体验了一翻,总结了以下三点:
仅有两个 jar 包,一个是 API,一个是实现,无任何其他依赖;
两个 jar 包总大小仅为 178 KB;
无需全局静态变量,开箱即用;

来看 tinylog 的使用方式:

import org.tinylog.Logger; 

public class Application {     
	public static void main(String[] args) {        
		Logger.info("学习tinylog");    
	}
}

可以看出来不许用 不需要再添加像 logger 这样的全局静态变量了

private final Logger logger = LoggerFactory.getLogger(this.getClass());

可以直接使用 Logger.info 等静态方法,也还能使用 {} 参数占位符。

日志性能

tinylog 对日志输出做了优化,日志输出性能更是十分了得,最快的时候甚至比 Log4j2 和 Logback 快数倍!
比如使用以下我们常用的格式输出日志:

{date:yyyy-MM-dd HH:mm:ss} - {thread} - {class}.{method}() - {level}: {message}

在这里插入图片描述
tinylog 此时的性能真的吊打其他日志框架!
官方测试报告
集成实战
1)引入依赖
我们只需要引入 tinylog-impl 即可:

  <dependency>
        <groupId>org.tinylog</groupId>
        <artifactId>tinylog</artifactId>
        <version>1.3.6</version>
 </dependency>


实战示例

我用的是 Spring Boot,加一个 CommandLineRunner,可以直接让系统启动的时候输出日志:

@Bean
public CommandLineRunner commandLineRunner() {
    return (args) -> {
        Logger.info("hello, tinylog!");
    };
}

启动验证

如图看到打印的日志
在这里插入图片描述

更多配置

如果你想自定义日志配置,可以在资源目录下创建一个日志配置文件:tinylog.properties。

level=ERROR
writer1=console
writer1.format={date: HH:mm:ss.SSS} {class}.{method}() {level}: {message}
writer2=rolling file
writer2.file=logs/{date: yyyy-MM-dd}/log_{count}.log
writer2.policies=startup, daily: 02:00
writer2.format={date: HH:mm:ss} [{thread}] {level}: {message}: {message}

此时日志级别为:info,创建了两个 writer,一个输出到控制台,一个写入文件,并每天按时进行日志切割归档。

官方日志配置文档

总结

tinylog 于 2014 年开源,到目前已经有快 8 个年头了,版本也是从 1.x 到如今的 2.x,最新版本为:2.4.1,并且 v2.5 也在路上了,从官方仓库看,更新频繁还挺高。
代码示例地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值