1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2025-02-20 23:47:21 -05:00

realtime logger

This commit is contained in:
v2ray 2016-05-12 17:18:07 -07:00
parent 9a3c7a03c9
commit 3c02805186

View File

@ -34,18 +34,18 @@ func (this *StdOutLogWriter) Log(log LogEntry) {
} }
type FileLogWriter struct { type FileLogWriter struct {
queue chan LogEntry queue chan string
logger *log.Logger logger *log.Logger
file *os.File file *os.File
} }
func (this *FileLogWriter) Log(log LogEntry) { func (this *FileLogWriter) Log(log LogEntry) {
select { select {
case this.queue <- log: case this.queue <- log.String():
default: default:
log.Release()
// We don't expect this to happen, but don't want to block main thread as well. // We don't expect this to happen, but don't want to block main thread as well.
} }
log.Release()
} }
func (this *FileLogWriter) run() { func (this *FileLogWriter) run() {
@ -54,9 +54,7 @@ func (this *FileLogWriter) run() {
if !open { if !open {
break break
} }
this.logger.Print(entry.String() + platform.LineSeparator()) this.logger.Print(entry + platform.LineSeparator())
entry.Release()
entry = nil
} }
} }
@ -70,7 +68,7 @@ func NewFileLogWriter(path string) (*FileLogWriter, error) {
return nil, err return nil, err
} }
logger := &FileLogWriter{ logger := &FileLogWriter{
queue: make(chan LogEntry, 16), queue: make(chan string, 16),
logger: log.New(file, "", log.Ldate|log.Ltime), logger: log.New(file, "", log.Ldate|log.Ltime),
file: file, file: file,
} }