文件清理
This commit is contained in:
@@ -13,6 +13,7 @@ import (
|
||||
"github.com/iwind/TeaGo/dbs"
|
||||
"github.com/iwind/TeaGo/lists"
|
||||
"github.com/iwind/TeaGo/types"
|
||||
"strings"
|
||||
"sync"
|
||||
"time"
|
||||
)
|
||||
@@ -126,6 +127,7 @@ func (this *StorageManager) Loop() error {
|
||||
continue
|
||||
}
|
||||
}
|
||||
this.applyFileStorageFallback(policy.Type, storage)
|
||||
|
||||
storage.SetVersion(types.Int(policy.Version))
|
||||
storage.SetFirewallOnly(policy.FirewallOnly == 1)
|
||||
@@ -143,6 +145,7 @@ func (this *StorageManager) Loop() error {
|
||||
remotelogs.Error("ACCESS_LOG_STORAGE_MANAGER", "create policy '"+types.String(policyId)+"' failed: "+err.Error())
|
||||
continue
|
||||
}
|
||||
this.applyFileStorageFallback(policy.Type, storage)
|
||||
storage.SetVersion(types.Int(policy.Version))
|
||||
storage.SetFirewallOnly(policy.FirewallOnly == 1)
|
||||
this.storageMap[policyId] = storage
|
||||
@@ -238,3 +241,20 @@ func (this *StorageManager) createStorage(storageType string, optionsJSON []byte
|
||||
|
||||
return nil, errors.New("invalid policy type '" + storageType + "'")
|
||||
}
|
||||
|
||||
func (this *StorageManager) applyFileStorageFallback(policyType string, storage StorageInterface) {
|
||||
if !serverconfigs.IsFileBasedStorageType(policyType) {
|
||||
return
|
||||
}
|
||||
|
||||
config, ok := storage.Config().(*serverconfigs.AccessLogFileStorageConfig)
|
||||
if !ok || config == nil || strings.TrimSpace(config.Path) != "" {
|
||||
return
|
||||
}
|
||||
|
||||
// file_clickhouse / file_mysql_clickhouse 未填写 path 时回退到默认文件路径,避免启动失败。
|
||||
if policyType == serverconfigs.AccessLogStorageTypeFileClickhouse || policyType == serverconfigs.AccessLogStorageTypeFileMySQLClickhouse {
|
||||
config.Path = Tea.Root + "/logs/access-${date}.log"
|
||||
config.AutoCreate = true
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user