操作日志和访问日志
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
"time"
|
||||
)
|
||||
|
||||
// AccessLog 访问日志(针对读取/浏览/访问行为)
|
||||
type AccessLog struct {
|
||||
Id int64 `orm:"auto" json:"id"`
|
||||
TenantId int `orm:"column(tenant_id)" json:"tenant_id"`
|
||||
UserId int `orm:"column(user_id)" json:"user_id"`
|
||||
Username string `orm:"column(username)" json:"username"`
|
||||
Module string `orm:"column(module)" json:"module"`
|
||||
ResourceType string `orm:"column(resource_type)" json:"resource_type"`
|
||||
ResourceId *int `orm:"column(resource_id);null" json:"resource_id"`
|
||||
RequestUrl string `orm:"column(request_url);null" json:"request_url"`
|
||||
QueryString string `orm:"column(query_string);type(text);null" json:"query_string"`
|
||||
IpAddress string `orm:"column(ip_address);null" json:"ip_address"`
|
||||
UserAgent string `orm:"column(user_agent);null" json:"user_agent"`
|
||||
RequestMethod string `orm:"column(request_method);null" json:"request_method"`
|
||||
Duration int `orm:"column(duration);null" json:"duration"`
|
||||
CreateTime time.Time `orm:"column(create_time);auto_now_add" json:"create_time"`
|
||||
}
|
||||
|
||||
func (a *AccessLog) TableName() string {
|
||||
return "sys_access_log"
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
"time"
|
||||
)
|
||||
|
||||
// OperationLog 通用操作日志
|
||||
type OperationLog struct {
|
||||
Id int64 `orm:"auto" json:"id"`
|
||||
TenantId int `orm:"column(tenant_id)" json:"tenant_id"`
|
||||
UserId int `orm:"column(user_id)" json:"user_id"`
|
||||
Username string `orm:"column(username)" json:"username"`
|
||||
Module string `orm:"column(module)" json:"module"`
|
||||
ResourceType string `orm:"column(resource_type)" json:"resource_type"`
|
||||
ResourceId *int `orm:"column(resource_id);null" json:"resource_id"`
|
||||
Operation string `orm:"column(operation)" json:"operation"`
|
||||
Description string `orm:"column(description);null" json:"description"`
|
||||
OldValue string `orm:"column(old_value);type(longtext);null" json:"old_value"`
|
||||
NewValue string `orm:"column(new_value);type(longtext);null" json:"new_value"`
|
||||
IpAddress string `orm:"column(ip_address);null" json:"ip_address"`
|
||||
UserAgent string `orm:"column(user_agent);null" json:"user_agent"`
|
||||
RequestMethod string `orm:"column(request_method);null" json:"request_method"`
|
||||
RequestUrl string `orm:"column(request_url);null" json:"request_url"`
|
||||
Status int8 `orm:"column(status)" json:"status"`
|
||||
ErrorMessage string `orm:"column(error_message);type(text);null" json:"error_message"`
|
||||
Duration int `orm:"column(duration);null" json:"duration"`
|
||||
CreateTime time.Time `orm:"column(create_time);auto_now_add" json:"create_time"`
|
||||
}
|
||||
|
||||
func (o *OperationLog) TableName() string {
|
||||
return "sys_operation_log"
|
||||
}
|
||||
@@ -46,6 +46,7 @@ func Init(version string) {
|
||||
orm.RegisterModel(new(KnowledgeTag))
|
||||
orm.RegisterModel(new(DictType))
|
||||
orm.RegisterModel(new(DictItem))
|
||||
orm.RegisterModel(new(OperationLog))
|
||||
|
||||
ormConfig, err := beego.AppConfig.String("orm")
|
||||
if err != nil {
|
||||
@@ -79,9 +80,9 @@ func Init(version string) {
|
||||
}
|
||||
|
||||
// 设置连接池参数
|
||||
dbConn.SetMaxIdleConns(10) // 设置空闲连接池中连接的最大数量
|
||||
dbConn.SetMaxOpenConns(100) // 设置打开数据库连接的最大数量
|
||||
dbConn.SetConnMaxLifetime(30 * time.Minute) // 设置连接可复用的最大时间(30分钟,避免连接过期)
|
||||
dbConn.SetMaxIdleConns(10) // 设置空闲连接池中连接的最大数量
|
||||
dbConn.SetMaxOpenConns(100) // 设置打开数据库连接的最大数量
|
||||
dbConn.SetConnMaxLifetime(30 * time.Minute) // 设置连接可复用的最大时间(30分钟,避免连接过期)
|
||||
// 注意:SetConnMaxIdleTime 在 Go 1.15+ 和 database/sql 1.4+ 中可用
|
||||
// 如果版本不支持,可以移除这一行
|
||||
// dbConn.SetConnMaxIdleTime(10 * time.Minute) // 设置空闲连接的最大空闲时间
|
||||
|
||||
Reference in New Issue
Block a user