github.com/polarismesh/polaris@v1.17.8/plugin/discoverevent/local/config.go (about) 1 /** 2 * Tencent is pleased to support the open source community by making Polaris available. 3 * 4 * Copyright (C) 2019 THL A29 Limited, a Tencent company. All rights reserved. 5 * 6 * Licensed under the BSD 3-Clause License (the "License"); 7 * you may not use this file except in compliance with the License. 8 * You may obtain a copy of the License at 9 * 10 * https://opensource.org/licenses/BSD-3-Clause 11 * 12 * Unless required by applicable law or agreed to in writing, software distributed 13 * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 14 * CONDITIONS OF ANY KIND, either express or implied. See the License for the 15 * specific language governing permissions and limitations under the License. 16 */ 17 18 package local 19 20 import "errors" 21 22 // DiscoverEventConfig 服务实例事件插件配置 23 type DiscoverEventConfig struct { 24 QueueSize int `json:"queueSize"` 25 OutputPath string `json:"outputPath"` 26 RotationMaxSize int `json:"rotationMaxSize"` 27 RotationMaxAge int `json:"rotationMaxAge"` 28 RotationMaxBackups int `json:"rotationMaxBackups"` 29 } 30 31 // Validate 检查配置是否正确配置 32 func (c *DiscoverEventConfig) Validate() error { 33 if c.QueueSize <= 0 { 34 return errors.New("QueueSize is <= 0") 35 } 36 if c.OutputPath == "" { 37 return errors.New("OutputPath is empty") 38 } 39 if c.RotationMaxSize <= 0 { 40 return errors.New("RotationMaxSize is <= 0") 41 } 42 if c.RotationMaxAge <= 0 { 43 return errors.New("RotationMaxAge is <= 0") 44 } 45 if c.RotationMaxBackups <= 0 { 46 return errors.New("RotationMaxBackups is <= 0") 47 } 48 return nil 49 } 50 51 // DefaultDiscoverEventConfig 创建一个默认的服务事件插件配置 52 func DefaultDiscoverEventConfig() *DiscoverEventConfig { 53 return &DiscoverEventConfig{ 54 QueueSize: 128, 55 OutputPath: "./discover-event", 56 RotationMaxSize: 50, 57 RotationMaxAge: 7, 58 RotationMaxBackups: 100, 59 } 60 }