mirror of
https://github.com/gotoeasy/glogcenter.git
synced 2025-09-15 12:58:34 +08:00
一个golang实现的日志中心glogcenter,简称GLC
| glc | ||
| .gitignore | ||
| LICENSE | ||
| README.md | ||
缘起
日志中心,一直是用传统三件套,打开速度不理想,资源占用太厉害,常闹情绪,替代品总是找不到。终于忍不住用go试写一个logcenter,结果确实是惊艳到自己了,故起名glogcenter,简称GLC,开仓建库
特点
- 使用
golang实现,就是快 - 借助
goleveldb做数据保存,结合日志写多读少特点稍加设计,真是快 - 日志量虽大,却是真心节省内存资源
- 常用的无条件查询最新日志,快到麻木无感
- 关键词全文检索,支持中文分词,反向索引以空间换时间,快到麻木无感
- 日志吞食量每秒近万条,建索引速度每秒数千条,闲时建索引充分利用资源
- 提供
docker镜像支持容器化部署,方便之极 - 提供
java项目日志收集包,日志都发来发来发来 - 提供简洁的日志查询界面
docker运行
// 简单示例
docker run -d -p 8080:8080 gotoeasy/glc
// 外挂数据目录
docker run -d -p 8080:8080 -v /glc:/glogcenter gotoeasy/glc
服务接口
/glc/add日志添加,表单提交方式,字段text是日志内容,更多参数斟酌中/glc/search日志查询,表单提交方式,检索条件字段searchKey,更多参数斟酌中
使用logback的java项目,支持日志收集
<!-- pom坐标 -->
<dependency>
<groupId>top.gotoeasy</groupId>
<artifactId>glc-logback-appender</artifactId>
<version>0.2.0</version>
</dependency>
<!-- logback-spring.xml配置例子 -->
<appender name="GLC" class="top.gotoeasy.framework.glc.logback.appender.GlcHttpAppender">
<glcApiUrl>http://127.0.0.1:8080/glc/add</glcApiUrl>
<glcApiKey>X-GLC-AUTH:glogcenter</glcApiKey>
<system>Demo</glcApiKey>
<layout>
<pattern><![CDATA[%p %m %n]]></pattern>
</layout>
</appender>
TODO
- 还好多
更新履历
版本0.3.0,latest
- 全面重构,不考虑旧版兼容
- 控制索引文件数,避免大量日志时打开文件过多而崩溃
- 降低索引文件的磁盘空间占用,优化索引创建速度
- 检索页面,显示更友好的查询结果提示
版本0.2.0
- DIY了一个
logo - 接口
/glc/add添加system参数 - 提供简洁的日志查询界面
- 当前版设计为接收多个项目的日志,界面栏目为
分类
初版0.1.0
- 使用
golang实现,就是快 - 借助
goleveldb做数据保存,结合日志写多读少特点稍加设计,真是快 - 日志量虽大,却是真心节省内存资源
- 常用的无条件查询最新日志,快到麻木无感
- 关键词全文检索,支持中文分词,反向索引以空间换时间,快到麻木无感
- 提供
docker镜像支持容器化部署,方便之极 - 提供
java项目日志收集包,日志都发来发来发来 - 服务接口
/glc/add添加日志 - 服务接口
/glc/search查询日志