mirror of https://github.com/1Panel-dev/1Panel
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.
42 lines
752 B
42 lines
752 B
package log
|
|
|
|
import (
|
|
"errors"
|
|
"io"
|
|
"os"
|
|
"path"
|
|
)
|
|
|
|
var (
|
|
BufferSize = 0x100000
|
|
DefaultFileMode = os.FileMode(0644)
|
|
DefaultFileFlag = os.O_RDWR | os.O_CREATE | os.O_APPEND
|
|
ErrInvalidArgument = errors.New("error argument invalid")
|
|
QueueSize = 1024
|
|
ErrClosed = errors.New("error write on close")
|
|
)
|
|
|
|
type Config struct {
|
|
TimeTagFormat string
|
|
LogPath string
|
|
FileName string
|
|
LogSuffix string
|
|
MaxRemain int
|
|
RollingTimePattern string
|
|
}
|
|
|
|
type Manager interface {
|
|
Fire() chan string
|
|
Close()
|
|
}
|
|
|
|
type RollingWriter interface {
|
|
io.Writer
|
|
Close() error
|
|
}
|
|
|
|
func FilePath(c *Config) (filepath string) {
|
|
filepath = path.Join(c.LogPath, c.FileName) + c.LogSuffix
|
|
return
|
|
}
|