一、mica(云母)
mica
由如梦技术内部的 lutool(撸秃)
演变而来。lutool
诞生于 2017 年,受 jhipster
启发逐步形成一个微服务的核心集。
因 lutool
名称与功能不太符合,故在2019年开源时将其改名为 mica(云母)
,寓意为云服务的基石。
二、版本说明
注意: mica-v2.0 分支仅做 bug 修复,不再做功能更新。
最新版本 | mica 版本 | spring boot 版本 | spring cloud 版本 |
---|---|---|---|
2.4.4-GA | mica 2.4.x | 2.4.x | 2020 |
2.1.1-GA | mica 2.0.x~2.1.x | 2.2.x ~ 2.3.x | Hoxton |
三、更新记录
v2.4.4-GA - 2021-03-28
- ✨ mica-qrcode 新增模块,友好的二维码识别和生成
- ✨ mica-logging 重新设计,logstash-logback-encoder 调整为可选,logstash 和 json 需手动添加依赖
- ✨ mica-core 优化完善 DesensitizationUtil
- ✨ mica-core 添加 ImageUtil
- ✨ mica-ip2region 更新 db 文件 gitee #I3AJNV
- 🐛 mica-redis 修复 ScanOptions count 空指针
- ⬆️ 升级到 mica-auto 到 2.0.4
- ⬆️ 升级到 mica-weixin 到 2.0.6
- ⬆️ 升级到 spring cloud 2020.0.2
- ⬆️ 升级 spring boot 到 2.4.4
三、mica-logging
3.1 规则
- 默认情况下,打印
console
日志、all.log
、error.log
。 - 设置为
json
格式化,打印console
日志(非json
)、all.log
(json
格式,可用于filebeat
收集)。 - 开启
logstash
,打印console
日志,并将日志输出到logstash
(建议关闭掉file
输出)。 - 可配置启动完成后关闭
console
日志。
注意: 开启 json
文件或 logstash
必须添加 logstash-logback-encoder
依赖!!!
3.2 日志示例:
文件日志
2021-03-25 21:03:55.275 INFO 2354 --- [XNIO-1 task-3] n.d.mica.mybatis.logger.SqlLogFilter :
======= Sql Logger ======================
select id, parent_id, title, name, seq , path, permission, component, icon, is_frame , type, cache, hidden, status, remark , created_by, created_at, updated_by, updated_at from sys_menu where type in (0, 1) and hidden = false and status = 0
======= Sql Execute Time: 3.438ms =======
json 日志
{"loggingLevelRoot":"info","appName":"mica-fast","profile":"dev","level":"INFO","logger_name":"o.s.b.w.e.u.UndertowWebServer","message":"Undertow started on port(s) 8080 (http)","thread_name":"main","@timestamp":"2021-03-25T13:10:34.371Z"}
logstash 日志(stdout)
{
"port" => 57146,
"@version" => "1",
"profile" => "dev",
"logger_name" => "net.dreamlu.mica.mybatis.logger.SqlLogFilter",
"appName" => "mica-fast",
"thread_name" => "XNIO-1 task-3",
"level" => "INFO",
"level_value" => 20000,
"message" => "\n\n======= Sql Logger ======================\nselect id, parent_id, title, name, seq , path, permission, component, icon, is_frame , type, cache, hidden, status, remark , created_by, created_at, updated_by, updated_at from sys_menu where type in (0, 1) and hidden = false and status = 0\n======= Sql Execute Time: 3.438ms =======\n",
"loggingLevelRoot" => "info",
"host" => "localhost",
"requestId" => "d17d635f0a479f01f846199231008ec9",
"@timestamp" => 2021-03-25T13:03:55.275Z
}
四、mica-qrcode
声明:本模块参考 nutzmore(nutz-plugins-qrcode)进行了大量修改,使用更加简单,添加多个流和 byte 数组接口,对微服务更加友好。
使用示例:
// 生成 二维码
QrCode.form("牛年大吉")
.size(512) // 默认 512,可以不设置
.backGroundColor(Color.WHITE) // 默认白色,可以不设置
.foreGroundColor(Color.BLACK) // 默认黑色,可以不设置
.encode(Charsets.UTF_8) // 默认 UTF_8,可以不设置
.imageFormat("png") // 默认 png,可以不设置
.deleteMargin(true) // 删除白边,默认为 true,可以不设置
.logo("/Users/lcm/Desktop/mica-mqtt-01.png") // 设置二维码 logo,支持 URL 远程图片、文件和流
.toFile("/Users/lcm/Desktop/xxx1.png"); // 写出,同类方法有 toImage、toStream、toBytes
// 二维码读取
String text = QrCode.read("/Users/lcm/Desktop/xxx1.png");
System.out.println(text);
五、mica生态
- mica-auto (Spring boot starter 利器): https://gitee.com/596392912/mica-auto
- mica-weixin(jfinal weixin 的 spring boot starter):https://gitee.com/596392912/mica-weixin
- mica-mqtt(基于 t-io 实现的 mqtt组件):https://gitee.com/596392912/mica-mqtt
- Spring cloud 微服务 http2 方案(h2c): https://gitee.com/596392912/spring-cloud-java11
六、文档
- mica 源码 Gitee(码云):https://gitee.com/596392912/mica
- mica 源码 Github:https://github.com/lets-mica
- 文档地址(官网):http://wiki.dreamlu.net
- 文档地址(语雀-可关注订阅):https://www.yuque.com/dreamlu
- 示例项目:https://github.com/lets-mica/mica-example
七、关注我们
扫描上面二维码,更多精彩内容每天推荐!