Plumelog:一款简单实用的Java日志系统

发表时间: 2021-10-31 00:00

《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是一个简单易用的java日志系统,解决你的日志查询困难问题,方便快速追踪问题,安装配置简单,还拥有更好的性能。

一.系统介绍

  1. 无代码入侵的分布式日志系统,基于log4j、log4j2、logback搜集日志,设置链路ID,方便查询关联日志
  2. 基于elasticsearch作为查询引擎
  3. 高吞吐,查询效率高
  4. 全程不占应用程序本地磁盘空间,免维护;对于项目透明,不影响项目本身运行
  5. 无需修改老项目,引入直接使用,支持dubbo,支持springcloud

架构

  • plumelog-core 核心组件包含日志搜集端,负责搜集日志并推送到kafka,redis等队列
  • plumelog-server 负责把队列中的日志日志异步写入到elasticsearch
  • plumelog-demo 基于springboot的使用案例
  • 下面是全功能图,红色部分是4.0内容,目前开发中

安装使用

一.服务端安装

  1. 服务端安装第一步:安装 redis 或者 kafka(一般公司redis足够) redis 官网:https://redis.io kafka:http://kafka.apache.org
  2. 第二步:安装 elasticsearch 官网下载地址:https://www.elastic.co/cn/downloads/past-releases
  3. 第三步:下载安装包,plumelog-server 下载地址:https://gitee.com/plumeorg/plumelog/releases备注:3.1版本以后UI和server合并,plumelog-ui这个项目可以不用部署
  4. 第四步:配置plumelog-server,并启动
  5. 第五步:后台查询语法详见plumelog使用指南

二.客户端使用

  1. 客户端在项目使用,非maven项目下载依赖包( https://gitee.com/frankchenlong/plumelog/releases )放在自己的lib下面直接使用,去除重复的包即可使用,然后配置log4j就可以搜集日志了
  2. 如果项目使用的log4j,引入
   <dependency>       <groupId>com.plumelog</groupId>       <artifactId>plumelog-log4j</artifactId>       <version>3.4.2</version>   </dependency>

3.logback(推荐使用)

  <dependency>       <groupId>com.plumelog</groupId>       <artifactId>plumelog-logback</artifactId>       <version>3.4.2</version>   </dependency>

4.logback整合配置中心案例,推荐使用

注:logback和logback-spring.xml都可以用来配置logback,但是2者的加载顺序是不一样的。logback.xml--->application.properties--->logback-spring.xml

界面截图

登录页

日志列表

错误日志

数据表

日志查询使用指南

内容语法

1.中文需要用双引号包含 例如:"异常",默认会被按照单字体分割检索

2.多个检索条件可以用 AND OR NOT 来组合查询 例如 "异常" AND "内容"

3.单个不可分割单词可以用*开头或者结尾进行模糊匹配 例如 *NullPointerException;查询到了java.lang.NullPointerException;

4.注意:英文符号的 . : 等不是默认的分隔符;需要用上面的方式去匹配

更多:
https://gitee.com/plumeorg/plumelog