# fast-log
**Repository Path**: chaojunma/fast-log
## Basic Information
- **Project Name**: fast-log
- **Description**: fast-log 为了方便研发人员对日志的排查,支持 logback、和 log4j2 日志收集
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 6
- **Created**: 2022-05-26
- **Last Updated**: 2022-05-26
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# fast-log
# 介绍
fast-log 又名日志快排,为了方便研发人员对日志的排查
支持 logback、和log4j2日志收集,对业务零侵入。
支持日志链路搜索
es 需要 7.2.0 及以上版本
# 软件架构
软件架构说明

# 安装教程
```
io.gitee.xinsuinian
fast-log-spring-boot-start
${fast.log.version}
```
# 使用说明
## logback 使用
1、依赖
```
io.gitee.xinsuinian
fast-log-spring-boot-start
${fast.log.version}
```
2、使用方式
**如果使用rocketmq收集日志,logback配置文件如下**
```
payment
dev
localhost:9876
```
**如果使用rabbitmq收集日志。logback配置文件中加入如下**
```
payment
dev
localhost
5672
/
guest
guest
```
**如果使用redis收集日志。logback配置中加入如下配置**
```
payment
dev
localhost
6379
```
## log4j2 使用
1、依赖
```
io.gitee.xinsuinian
fast-log-spring-boot-start
<
ch.qos.logback
logback-core
ch.qos.logback
logback-classic
```
2、使用方式
**如果使用rocketmq收集日志,log4j2的配置如下**
```
```
**如果使用 rabbitmq收集日志,log4j2 的配置如下**
```
```
**如果使用redis收集日志,log4j2的配置如下**
```
```
## 日志链路搜索
### 正常请求使用
引入上述依赖后,启动类加上扫描包,防止基础包不一致,导致失效
```
@SpringBootApplication(scanBasePackages = {"com.lwq.*"})
```
正常请求,加入上边包扫描后,就会生成生个请求的日志链路信息,同时支持feign 调用日志链路
### 定时任务使用
如果在定时任务中也想使用日志链路,可以在对应的定时任务方法上加 ``` @EnableTrace ``` 注解
### RestTemplate 使用
当使用RestTemplate 请求,想使用 日志链路时,需要加上一个过滤器 ``` RestTemplateHeaderInterceptor ```

## server端使用
server 端的配置如下
```
server.port=8081
# 激活方式 使用什么来收集日志。可选择的有:rabbitMq、redis、rocketmq
active.client=rocketmq
# 如果激活方式是rabbitMq 则需要配置rabbitmq 信息
rabbitmq.config.host=localhost
rabbitmq.config.port=5672
rabbitmq.config.virtual-host=/
rabbitmq.config.username=guest
rabbitmq.config.password=guest
# 如果激活的是redis 则需要配置 redis信息
redis.config.host=localhost
redis.config.port=6379
#若没有密码可以不写
redis.config.auth=
redis.config.timeout=5000
redis.config.maxIdle=50
redis.config.maxWaitMillis=3000
redis.config.maxTotal=500
# server端 redis队列为空时阻塞时间 单位秒
redis.sleep.timeout=10
# 如果激活的方式是rocketmq 则需要配置rocketmq的信息
rocketmq.config.namesrv_addr=localhost:9876
# 批量拉取数量
rocketmq.config.pull_batch_size=10
# 配了消费最大数量
rocketmq.config.consume_message_batch_max_size=10
# 拉取
rocketmq.config.pull_threshold_for_queue=1000
# 消费者线程最小数量
rocketmq.config.consume_thread_min=3
# 消费者线程最大数量
rocketmq.config.consume_thread_max=5
# es 配置
elasticsearch.schema=http
elasticsearch.address=127.0.0.1:9200
elasticsearch.connectTimeout=5000
elasticsearch.socketTimeout=5000
elasticsearch.connectionRequestTimeout=5000
elasticsearch.maxConnectNum=100
elasticsearch.maxConnectPerRoute=100
# 若设置了用户名和密码,则需要此处
elasticsearch.user=
# 若设置了用户名和密码,则需要此处
elasticsearch.pwd=
# 创建索引分片数量
elasticsearch.index.shards=3
# 创建索引副本数量
elasticsearch.index.replicas=2
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
spring.thymeleaf.mode=HTML5
spring.thymeleaf.cache=false
spring.thymeleaf.encoding=UTF-8
```



#### 参与贡献
1. Fork 本仓库
2. 新建 Feat_xxx 分支
3. 提交代码
4. 新建 Pull Request
#### 特技