主分支代码
This commit is contained in:
@@ -24,6 +24,7 @@ type StorageManager struct {
|
||||
|
||||
publicPolicyId int64
|
||||
disableDefaultDB bool
|
||||
writeTargets *serverconfigs.AccessLogWriteTargets // 公用策略的写入目标
|
||||
|
||||
locker sync.Mutex
|
||||
}
|
||||
@@ -79,12 +80,14 @@ func (this *StorageManager) Loop() error {
|
||||
|
||||
if int64(policy.Id) == publicPolicyId {
|
||||
this.disableDefaultDB = policy.DisableDefaultDB
|
||||
this.writeTargets = serverconfigs.ParseWriteTargetsFromPolicy(policy.WriteTargets, policy.Type, policy.DisableDefaultDB)
|
||||
foundPolicy = true
|
||||
}
|
||||
}
|
||||
}
|
||||
if !foundPolicy {
|
||||
this.disableDefaultDB = false
|
||||
this.writeTargets = nil
|
||||
}
|
||||
|
||||
this.locker.Lock()
|
||||
@@ -160,6 +163,27 @@ func (this *StorageManager) DisableDefaultDB() bool {
|
||||
return this.disableDefaultDB
|
||||
}
|
||||
|
||||
// WriteMySQL 公用策略是否写入 MySQL(以 writeTargets 为准,无则用 disableDefaultDB)
|
||||
func (this *StorageManager) WriteMySQL() bool {
|
||||
if this.writeTargets != nil {
|
||||
return this.writeTargets.MySQL
|
||||
}
|
||||
return !this.disableDefaultDB
|
||||
}
|
||||
|
||||
// WriteClickHouse 公用策略是否写入 ClickHouse(文件+Fluent Bit 或后续 API 直写)
|
||||
func (this *StorageManager) WriteClickHouse() bool {
|
||||
if this.writeTargets != nil {
|
||||
return this.writeTargets.ClickHouse
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
// WriteTargets 返回公用策略的写入目标(供节点配置注入等)
|
||||
func (this *StorageManager) WriteTargets() *serverconfigs.AccessLogWriteTargets {
|
||||
return this.writeTargets
|
||||
}
|
||||
|
||||
func (this *StorageManager) createStorage(storageType string, optionsJSON []byte) (StorageInterface, error) {
|
||||
switch storageType {
|
||||
case serverconfigs.AccessLogStorageTypeFile:
|
||||
|
||||
Reference in New Issue
Block a user