func (f *FileLogger) Trace(format string, v ...interface{}) {
	_, file, line, _ := runtime.Caller(2) //calldepth=3
	if f.logLevel <= TRACE {
		f.logChan <- fmt.Sprintf("[%v:%v]", shortFileName(file), line) + fmt.Sprintf("\033[32m[TRACE] "+format+" \033[0m ", v...)
	}
}
func (f *FileLogger) Trace(format string, v ...interface{}) {
	_, file, line, _ := runtime.Caller(2) 
	if f.logLevel <= TRACE {
		f.logChan <- fmt.Sprintf("[%v:%v]", shortFileName(file), line) + fmt.Sprintf("\033[32m[TRACE] "+format+" \033[0m ", v...)
	}
}
func ( f * FileLogger ) Trace ( format string , v ... interface { } ) { _ , file , line , _ := runtime . Caller ( 2 ) //calldepth=3 if f . logLevel <= TRACE { f . logChan <- fmt . Sprintf ( " " , shortFileName ( file ) , line ) + fmt . Sprintf ( " \033 " + format + " \033 " , v ... ) } }
//======================================================================================================================
// Trace log
====================================================================================================================== Trace log