SpringBoot(57) 整合Plumelog实现日志查询

这篇具有很好参考价值的文章主要介绍了SpringBoot(57) 整合Plumelog实现日志查询。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、前言

Plumelog 一个简单易用的java分布式日志组件

https://gitee.com/plumeorg/plumelog

二、docker-compose一键搭建日志服务

plumelog + elasticsearch + redis

tips: 详情可查看 https://gitee.com/zhengqingya/docker-compose

# 准备
git clone https://gitee.com/zhengqingya/docker-compose.git
cd docker-compose/Linux/plumelog

# 运行
docker-compose -f docker-compose.yml -p plumelog up -d

# 当前目录下所有文件赋予权限(读、写、执行)  -- 解决es启动报错问题...
chmod -R 777 ./app/elasticsearch
  • 访问地址:ip地址:8891
  • 账号:admin
  • 密码:admin
docker-compose.yml
version: "3"

# 网桥 -> 方便相互通讯
networks:
  plumelog:
    ipam:
      driver: default
      config:
        - subnet: "172.23.0.0/24"

services:
  plumelog:
    image: registry.cn-hangzhou.aliyuncs.com/zhengqing/plumelog:3.5.3
    container_name: plumelog
    restart: unless-stopped
    volumes:
      # 引用外部配置文件    ex: es,redis   (配置也可通过 -e 去修改)
      - ./app/plumelog/application.properties:/home/application.properties
    environment: # 设置环境变量,相当于docker run命令中的-e
      TZ: Asia/Shanghai
      LANG: en_US.UTF-8
      JAVA_OPTS: "-XX:+UseG1GC -Dspring.config.location=/home/application.properties,classpath:application.properties,"
      plumelog.queue.redis.redisHost: 172.23.0.33:6379
      plumelog.redis.redisHost: 172.23.0.33:6379
      plumelog.es.esHosts: 172.23.0.22:9200
    ports:
      - "8891:8891"
    depends_on:
      - elasticsearch
      - redis
    networks:
      plumelog:
        ipv4_address: 172.23.0.11

  elasticsearch:
    image: registry.cn-hangzhou.aliyuncs.com/zhengqing/elasticsearch:7.14.1      # 原镜像`elasticsearch:7.14.1`
    container_name: plumelog_elasticsearch         # 容器名为'elk_elasticsearch'
    restart: unless-stopped                   # 指定容器退出后的重启策略为始终重启,但是不考虑在Docker守护进程启动时就已经停止了的容器
    volumes:                                  # 数据卷挂载路径设置,将本机目录映射到容器目录
      - "./app/elasticsearch/data:/usr/share/elasticsearch/data"
      - "./app/elasticsearch/logs:/usr/share/elasticsearch/logs"
      - "./app/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml"
    #      - "./app/elasticsearch/config/jvm.options:/usr/share/elasticsearch/config/jvm.options"
    environment:                              # 设置环境变量,相当于docker run命令中的-e
      TZ: Asia/Shanghai
      LANG: en_US.UTF-8
      discovery.type: single-node
      ES_JAVA_OPTS: "-Xmx512m -Xms512m"
      ELASTIC_PASSWORD: "123456" # elastic账号密码
    ports:
      - "9200:9200"
      - "9300:9300"
    networks:
      plumelog:
        ipv4_address: 172.23.0.22

  redis:
    image: registry.cn-hangzhou.aliyuncs.com/zhengqing/redis:7.0.5                    # 镜像'redis:7.0.5'
    container_name: plumelog_redis                                                             # 容器名为'redis'
    restart: unless-stopped                                                                   # 指定容器退出后的重启策略为始终重启,但是不考虑在Docker守护进程启动时就已经停止了的容器
    command: redis-server /etc/redis/redis.conf --requirepass 123456 --appendonly no # 启动redis服务并添加密码为:123456,默认不开启redis-aof方式持久化配置
    #    command: redis-server --requirepass 123456 --appendonly yes # 启动redis服务并添加密码为:123456,并开启redis持久化配置
    environment:                        # 设置环境变量,相当于docker run命令中的-e
      TZ: Asia/Shanghai
      LANG: en_US.UTF-8
    volumes:                            # 数据卷挂载路径设置,将本机目录映射到容器目录
      - "./app/redis/data:/data"
      - "./app/redis/config/redis.conf:/etc/redis/redis.conf"  # `redis.conf`文件内容`http://download.redis.io/redis-stable/redis.conf`
    ports:                              # 映射端口
      - "6379:6379"
    networks:
      plumelog:
        ipv4_address: 172.23.0.33

三、SpringBoot整合Plumelog

1、pom.xml
<dependency>
    <groupId>com.plumelog</groupId>
    <artifactId>plumelog-logback</artifactId>
    <version>3.5.3</version>
</dependency>
2、application.yml
spring:
  profiles:
    active: dev

# 配置日志地址
logging:
  config: classpath:logback-spring.xml

plumelog:
  appName: plumelog_demo
  # 需要和plumelog服务端的redis配置一致
  redisHost: 127.0.0.1:6379
  redisAuth: 123456
  redisDb: 10
3、logback-spring.xml
<!-- 环境配置 -->
<springProperty scope="context" name="plumelog.appName" source="plumelog.appName"/>
<springProperty scope="context" name="plumelog.redisHost" source="plumelog.redisHost"/>
<springProperty scope="context" name="plumelog.redisAuth" source="plumelog.redisAuth"/>
<springProperty scope="context" name="plumelog.redisDb" source="plumelog.redisDb"/>
<springProperty scope="context" name="plumelog.env" source="spring.profiles.active"/>
<!-- plumelog -->
<appender name="plumelog" class="com.plumelog.logback.appender.RedisAppender">
    <appName>${plumelog.appName}</appName>
    <redisHost>${plumelog.redisHost}</redisHost>
    <redisAuth>${plumelog.redisAuth}</redisAuth>
    <redisDb>${plumelog.redisDb}</redisDb>
    <env>${plumelog.env}</env>
</appender>
<root level="DEBUG">
    <appender-ref ref="plumelog"/>
</root>
4、启动项目记录日志

访问plumelog的ui界面查看日志

SpringBoot(57) 整合Plumelog实现日志查询

四、本文案例demo源码

https://gitee.com/zhengqingya/java-workspace


今日分享语句:
我一定会加油,直追我的目标,有些该放弃的我会放弃,再也不会幻想了,未来的日子,我想你一样,坚强,达到我想要的目标!文章来源地址https://www.toymoban.com/news/detail-424159.html

到了这里,关于SpringBoot(57) 整合Plumelog实现日志查询的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringBoot整合ElasticSearch实现分页查询

    本文使用SpringBoot整合ElasticSearch实现分页查询 还是继续使用spring-boot-starter-data-elasticsearch来实现分页查询操作 数据准备 使用ElasticsearchRestTemplate来实现 程序结果 使用ElasticsearchOperations来实现 程序结果 本文记录了SpringBoot整合ElasticSearch来实现分页查询的两种方式

    2024年01月25日
    浏览(51)
  • SpringBoot应用整合并使用Docker安装ELK实现日志收集

    ELK即Elasticsearch、Logstash、Kibana,组合起来可以搭建线上日志系统,本文主要讲解使用ELK来收集SpringBoot应用产生的日志。 Elasticsearch:用于存储收集到的日志信息; Logstash:用于收集日志,SpringBoot应用整合了Logstash以后会把日志发送给Logstash,Logstash再把日志转发给Elasticsearch; Kiban

    2023年04月08日
    浏览(45)
  • springboot整合elasticsearch实现类似于mysql的like查询

    目录 一、ES分页查询常用方式 二、引入es的依赖 三、es配置文件 四、es工具类 五、分页查询示例 1.from + size from表示从第几行开始,size表示查询多少条文档。from默认为0,size默认为10,最灵活的分页方式。 2.scroll 不适合用来做实时搜索,而更适用于后台批处理任务,如日志导

    2023年04月09日
    浏览(36)
  • SpringBoot 整合ElasticSearch实现模糊查询,批量CRUD,排序,分页,高亮

    准备一个空的SpringBoot项目 写入依赖 注意你的SpringBoot和你的es版本,一定要对应,如果不知道的可以查看这篇文章:https://blog.csdn.net/u014641168/article/details/130386872 我的版本是2.2.6,所以用的ES版本是 6.8.12,安装es请看这篇文章:https://blog.csdn.net/u014641168/article/details/130622430 查看

    2024年02月08日
    浏览(53)
  • java springboot整合MyBatis实现分页查询以及带条件的分页查询

    之前的文章 java springboot整合MyBatis做数据库查询操作操作了springboot整合MyBatis,然后简单做了个按id查询的操作 那么 我们按上文搭建起的环境继续 我们直接在staffDao接口中声明一个分页函数 这里 我们直接在 sql语句中写limit 分页逻辑 参数是方法接收的 这个函数接收两个参数

    2024年02月10日
    浏览(46)
  • SpringBoot整合Elasticsearch实现分页条件查询及注意事项

    项目环境: springboot 2.3.7.RELEASE es 6.8.3 这里需要注意es中日期格式,ES默认是不支持yyyy-MM-dd HH:mm:ss格式的,需要通过 @Field(type = FieldType.Date, format = DateFormat.custom,pattern = \\\"yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_second\\\") 来指定日期格式。 直接看业务层实现分页条件查询: 范围查询: es en

    2023年04月16日
    浏览(50)
  • 【案例实战】SpringBoot整合Redis实现缓存分页数据查询

    正式观看本文之前,设想一个问题,高并发情况下,首页列表数据怎么做? 类似淘宝首页,这些商品是从数据库中查出来的吗?答案肯定不是,在高并发的情况下,数据库是扛不住的,那么我们要怎么去扛住C端大并发量呢,这块我们可以借助Redis,我们知道Redis是一个基于内

    2024年02月09日
    浏览(57)
  • SpringBoot整合mybatis-plus实现分页查询(建议收藏)

    一、前言         最近学习了SpringBoot分页查询的两种写法,一种是手动实现,另一种是使用框架实现。现在我将具体的实现流程分享一下。 二、手动实现分页查询         先复习一下,SQL中的limit,下面一行sql语句的意思是从第二个数据开始查,查询出两条数据

    2024年01月16日
    浏览(70)
  • plumelog介绍与应用-一个简单易用的java分布式日志系统

    官方文档:http://www.plumelog.com/zh-cn/docs/FASTSTART.html 无代码入侵的分布式日志系统,基于log4j、log4j2、logback搜集日志,设置链路ID,方便查询关联日志 基于elasticsearch作为查询引擎 高吞吐,查询效率高 全程不占应用程序本地磁盘空间,免维护;对于项目透明,不影响项目本身运行

    2024年02月10日
    浏览(39)
  • tk-mybatis使用介绍,springboot整合tk-mybatis、PageHelper实现分页查询

    Mybatis-Plus极大简化了我们的开发,作为mybatis的增强版,Mybatis-Plus确实帮我们减少了很多SQL语句的编写,通过其提供的API,可以方便地完成增删查改操作。但是,其实除了Mybatis-Plus以外,还有一个技术tk-mybatis可以达到同样的效果,只不过随着MP的兴起,tk-mybatis已经被渐渐淡忘

    2024年02月12日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包