61 lines
1.2 KiB
Go
61 lines
1.2 KiB
Go
package file
|
|
|
|
import (
|
|
"time"
|
|
"errors"
|
|
"path"
|
|
|
|
xtime "go-common/library/time"
|
|
)
|
|
|
|
type Config struct {
|
|
CacheFlushInterval xtime.Duration `tome:"cacheFlushInterval"`
|
|
WriteBuffer int `tome:"writeBuffer"`
|
|
Storage string `tome:"storage"`
|
|
StorageMaxMB int `tome:"storageMaxMB"`
|
|
FileBytes int `tome:"fileBytes"`
|
|
Suffix string `tome:"suffix"`
|
|
ReadBuffer int `tome:"readBuffer"`
|
|
Index string `tome:"index"`
|
|
}
|
|
|
|
func (c *Config) ConfigValidate() (error) {
|
|
if c == nil {
|
|
return errors.New("config of fileCache is nil")
|
|
}
|
|
|
|
if time.Duration(c.CacheFlushInterval) == 0 {
|
|
c.CacheFlushInterval = xtime.Duration(time.Second * 5)
|
|
}
|
|
|
|
if c.WriteBuffer == 0 {
|
|
c.WriteBuffer = 1024 * 1024 * 2 // 2M by default
|
|
}
|
|
|
|
if c.Storage == "" {
|
|
return errors.New("storage settings for lancer output can't be nil")
|
|
}
|
|
|
|
if c.StorageMaxMB == 0 {
|
|
c.StorageMaxMB = 5120
|
|
}
|
|
|
|
if c.FileBytes == 0 {
|
|
c.FileBytes = 1024 * 1024 * 2 // 2M by default
|
|
}
|
|
|
|
if c.Suffix == "" {
|
|
c.Suffix = ".log"
|
|
}
|
|
|
|
if c.ReadBuffer == 0 {
|
|
c.ReadBuffer = 1024 * 1024 * 2 // 2M by default
|
|
}
|
|
|
|
if c.Index == "" {
|
|
c.Index = path.Join(c.Storage, "output.index")
|
|
}
|
|
|
|
return nil
|
|
}
|