writer.go
func (f *FileLogger) Println(v ...interface{}) {
	_, file, line, _ := runtime.Caller(1) //calldepth=2
	f.logChan <- fmt.Sprintf("[%v:%v]", shortFileName(file), line) + fmt.Sprintln(v...)
}
func (f *FileLogger) Println(v ...interface{}) {
	_, file, line, _ := runtime.Caller(1) //calldepth=2
	f.logChan <- fmt.Sprintf("[%v:%v]", shortFileName(file), line) + fmt.Sprintln(v...)
}
// Println throw logstr to channel to print to the logger.
// Arguments are handled in the manner of fmt.Println.