You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.2 KiB
60 lines
1.2 KiB
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 |
|
}
|
|
|