<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          tinylog || Log4j 、Logback 替代品

          共 1574字,需瀏覽 4分鐘

           ·

          2021-12-29 17:36

          tinylog2 是什么

          tinylog2[1]是為簡(jiǎn)化日志記錄而生的,開源的,支持 Java(1.6+)、Kotlin、Scala、安卓和任何其他 JVM 語言的輕量級(jí)日志框架

          安全輕量

          • 顧名思義,tinylog 是一個(gè)輕量級(jí)的日志框架。tinylog 本身僅包含兩個(gè) JAR 文件(一個(gè)用于 API,另一個(gè)用于實(shí)現(xiàn)),沒有任何外部依賴項(xiàng)(因此不會(huì)受到近期 log4j2 的漏洞影響)。兩個(gè) JAR 文件的總大小僅為 178 KB。

          tinylog2 使用

          Logger 輸出

          tinylog 有一個(gè)靜態(tài)記錄器類。因此,我們可以采用以下代碼優(yōu)雅記錄日志:

          import?org.tinylog.Logger;
          public?class?Application?{
          ????public?static?void?main(String[]?args)?{
          ????????Logger.info("Hello?World!");
          ????}
          }

          slf4j 適配

          當(dāng)然,只需要借助slf4j-tinylog[2],我們就可以繼續(xù)使用 slf4j 門面而無需改變我們的代碼,完成替換 log4j、logback 等。


          <dependency>
          ????<groupId>org.tinyloggroupId>
          ????<artifactId>slf4j-tinylogartifactId>
          ????<version>2.4.1version>
          dependency>

          <dependency>
          ????<groupId>org.tinyloggroupId>
          ????<artifactId>tinylog-implartifactId>
          ????<version>2.4.1version>
          dependency>
          1640593433

          多樣化的輸出選項(xiàng)

          tinylog2 適配了多種日志輸出方式。日志條目可以寫入控制臺(tái)、數(shù)據(jù)庫表、文件和 Android 的 logcat。文件輸出支持類似 logback 的滾動(dòng)日志,支持多實(shí)例共享配置文件。

          可配置

          tinylog2 傳統(tǒng)的 properties 文件進(jìn)行配置,所有的配置項(xiàng)請(qǐng)參考官網(wǎng)[3]

          writer        = file
          writer.file = application.log
          writer.format = {class}.{method}() {message}
          level = info

          當(dāng)然,借助tinylog2-extra-stuff[4]項(xiàng)目,我們可以采用 yaml 或者 json 文件對(duì)其進(jìn)行配置。

          性能說明

          tinylog2 針對(duì)日志條目的快速輸出進(jìn)行了優(yōu)化,并且明顯快于其他日志記錄框架,如基準(zhǔn)測(cè)試[5]所示。尤其是進(jìn)行堆棧跟蹤信息的輸出(例如發(fā)出日志條目的方法名稱或行號(hào))時(shí),tinylog2 顯著快于其他所有日志框架 。

          官網(wǎng)性能測(cè)試

          開源

          同 Java 世界的許多其他日志框架一樣,tinylog2 也是一個(gè)基于 Apache License V2 協(xié)議開源的項(xiàng)目。其代碼托管在github[6]上,可以免費(fèi)商用。

          參考資料

          [1]

          tinylog2: https://tinylog.org/v2

          [2]

          slf4j-tinylog: https://github.com/tinylog-org/tinylog/tree/v2.5/slf4j-tinylog

          [3]

          tinylog2配置項(xiàng): https://tinylog.org/v2/configuration

          [4]

          tinylog2-extra-stuff: https://github.com/Git5000/tinylog_extra_stuff

          [5]

          基準(zhǔn)測(cè)試數(shù)據(jù): https://tinylog.org/v2/benchmark

          [6]

          github: https://github.com/tinylog-org/tinylog


          瀏覽 110
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  玖玖成人网站 | 92久久| www.aaa国产 | 学生妹内射片 | 久久久久成人免费视频 |