This commit is contained in:
gotoeasy 2024-01-09 21:25:20 +08:00
parent 95608941db
commit bf127e2a21
6 changed files with 30 additions and 4 deletions

View File

@ -110,6 +110,7 @@ docker run -d -p 8080:8080 -e GLC_CLUSTER_MODE=true -e GLC_SERVER_URL=http://172
- [x] `GLC_TEST_MODE`是否开启测试模式,开启时显示生成测试数据的按钮,供测试或快速体验用,默认`false`
- [x] `GLC_WHITE_LIST`白名单多个用逗号分隔黑白名单冲突时白名单优先默认空白。可设定IP最后段支持通配符如`1.2.3.*`内网IP默认都是白名单不必设定实验性质的支持区域名称因为IP地域查询可能有误差如`上海市,深圳市`
- [x] `GLC_BLACK_LIST`黑名单多个用逗号分隔黑白名单冲突时白名单优先默认空白。可设定IP最后段支持通配符如`1.2.3.*`,也支持单个通配符`*`代表全部也就是只允许内网或白名单指定使用实验性质的支持区域名称因为IP地域查询可能有误差
- [x] `GLC_IP_ADD_CITY`对IP字段是否自动附加城市信息默认`false`
## 接口
@ -234,9 +235,14 @@ func main() {
- [ ] 集群支持动态删减节点(或是页面管理删除)
### 版本`0.14.1`
- [x] 新增`GLC_IP_ADD_CITY`环境变量对IP字段是否自动附加城市信息默认`false`
- [x] 工具包优化取主机IP地址逻辑优先eth0网卡内网地址`glc-logback-appender`同步升级
### 版本`0.14.0`
- [x] 日志新增用户字段,界面新增用户的精确检索条件,当要做特定用户维度的日志审计时,这个功能会显得非常实用
- [x] 日志新增用户字段,界面新增用户的精确检索条件,当要做特定用户维度的日志审计时,这会显得非常实用
- [x] 包`glc-logback-appender`同步升级新增MDC存取用户的接口
- [x] 修复已知问题

View File

@ -5,7 +5,7 @@
<groupId>top.gotoeasy</groupId>
<artifactId>glc-logback-appender</artifactId>
<version>0.14.0</version>
<version>0.14.1</version>
<description>logback appender for glogcenter</description>
<repositories>

View File

@ -58,6 +58,7 @@ var testMode bool
var tokenSalt string
var aryWhite []string
var aryBlack []string
var ipAddCity bool
func init() {
UpdateConfigByEnv()
@ -86,6 +87,7 @@ func UpdateConfigByEnv() {
tokenSalt = cmn.GetEnvStr("GLC_TOKEN_SALT", "") // 令牌盐,默认“”
aryWhite = cmn.Split(cmn.GetEnvStr("GLC_WHITE_LIST", ""), ",") // IP或区域白名单逗号分隔默认“”
aryBlack = cmn.Split(cmn.GetEnvStr("GLC_BLACK_LIST", ""), ",") // IP或区域黑名单逗号分隔单个*代表全部,内网地址不受限制,默认“”
ipAddCity = cmn.GetEnvBool("GLC_IP_ADD_CITY", false) // IP是否要自动附加城市信息默认false
clusterMode = cmn.GetEnvBool("GLC_CLUSTER_MODE", false) // 是否开启集群模式默认false
splitUrls(cmn.GetEnvStr("GLC_CLUSTER_URLS", "")) // 从服务器地址,多个时逗号分开,默认“”
enableBackup = cmn.GetEnvBool("GLC_ENABLE_BACKUP", false) // 【X】是否开启备份默认false
@ -102,6 +104,11 @@ func UpdateConfigByEnv() {
testMode = cmn.GetEnvBool("GLC_TEST_MODE", false) // 是否测试模式默认false
}
// 取配置: IP是否要自动附加城市信息默认false
func IsIpAddCity() bool {
return ipAddCity
}
// 取配置: 登录会话超时时间可通过环境变量“GLC_SESSION_TIMEOUT”设定默认“30”分钟
func GetSessionTimeout() int {
return sessionTimeout

View File

@ -1,4 +1,4 @@
package ver
// 版本号,升级版本时修改
const VERSION = "v0.14.0"
const VERSION = "v0.14.1"

View File

@ -58,5 +58,16 @@ func JsonLogTransferAddController(req *gweb.HttpRequest) *gweb.HttpResult {
// 添加日志
func addDataModelLog(data *logdata.LogDataModel) {
engine := ldb.NewDefaultEngine()
// 按配置要求在IP字段上附加城市信息当IP含空格时认为已附加过
if conf.IsIpAddCity() {
if data.ClientIp != "" && !cmn.Contains(data.ClientIp, " ") {
data.ClientIp = cmn.GetCityIp(data.ClientIp)
}
if data.ServerIp != "" && !cmn.Contains(data.ServerIp, " ") {
data.ServerIp = cmn.GetCityIp(data.ServerIp)
}
}
engine.AddLogDataModel(data)
}

View File

@ -14,6 +14,7 @@ import (
)
var glcLatest string = ""
var glcOrigin string = ""
// 查询是否测试模式
func TestModeController(req *gweb.HttpRequest) *gweb.HttpResult {
@ -22,6 +23,7 @@ func TestModeController(req *gweb.HttpRequest) *gweb.HttpResult {
// 查询版本信息
func VersionController(req *gweb.HttpRequest) *gweb.HttpResult {
glcOrigin = req.GinCtx.GetHeader("Origin")
rs := cmn.OfMap("version", ver.VERSION, "latest", glcLatest) // version当前版本号latest最新版本号
return gweb.Result(rs)
}
@ -126,7 +128,7 @@ func StorageDeleteController(req *gweb.HttpRequest) *gweb.HttpResult {
// 尝试查询最新版本号(注:服务不一定总是可用,每小时查取一次)
func init() {
go func() {
url := "https://glc.gotoeasy.top/glogcenter/current/version.json?v=" + ver.VERSION
url := "https://glc.gotoeasy.top/glogcenter/current/version.json?v=" + ver.VERSION + "&h=" + cmn.Base62Encode(cmn.StringToBytes(glcOrigin))
v := cmn.GetGlcLatestVersion(url)
glcLatest = cmn.IifStr(v != "", v, glcLatest)
ticker := time.NewTicker(time.Hour)