fixbug daemon rotate

master v0.1.7
guohao 5 years ago
parent 6b640921d3
commit c72713582b
  1. 18
      filelog.go
  2. 5
      gokit.go
  3. 9
      gokit_test.go

@ -72,16 +72,26 @@ func (w *mFileLogger) Close() error {
return w.flush()
}
func NewFileLogger(path, name string, flushInterval time.Duration, fileSplitSize uint64, bufferSize int) io.Writer {
writer := &mFileLogger{
func NewFileLogger(path, name string, flushInterval time.Duration, fileSplitSize uint64, bufferSize int) (writer io.Writer, err error) {
writer = &mFileLogger{
filepath: path,
name: name,
flushInterval: flushInterval,
fileSplitSize: fileSplitSize,
bufferSize: bufferSize,
writer: &bufferWriter{
logPath: path,
logName: name,
maxFileSize: fileSplitSize,
bufferSize: bufferSize,
},
}
go writer.flushDaemon()
return writer
err = writer.(*mFileLogger).writer.rotate(time.Now(), 0)
if err != nil {
return
}
go writer.(*mFileLogger).flushDaemon()
return
}
func (w *mFileLogger) flushDaemon() {

@ -85,7 +85,10 @@ func Init(_channel Channel, name string, level Level, _alsoStdout bool, _withCal
if logPath == "" {
logPath = "/data/logs/" + logName + ".log"
}
logWriter = NewFileLogger(logPath, logName, time.Second*5, 1204*1024*1800, 4*1024)
logWriter, err = NewFileLogger(logPath, logName, time.Second*5, 1204*1024*1800, 4*1024)
if err != nil {
return
}
}
if logWriter == nil && channel == SYSLOG {
logWriter, _ = NewSyslogWriter("", "", level, logName)

@ -1,7 +1,6 @@
package logkit
import (
"flag"
"fmt"
"strconv"
"testing"
@ -9,14 +8,14 @@ import (
)
func init() {
var l Level
flag.Int("level", int(l) , "l")
flag.Parse()
}
func BenchmarkGoKit(b *testing.B) {
defer Exit()
Init(FIlE, "test", LevelDebug, true, BasePath)
SetPath("/")
_, err := Init(FIlE, "test", LevelDebug, true, BasePath)
fmt.Printf("===%s", err)
b.ResetTimer()
for i := 0; i < b.N; i++ {
Info("test " + strconv.FormatInt(int64(i), 10))

Loading…
Cancel
Save