func NewLogger(name string, skip int) *Log {
	logging := &Log{stats: new(Stats)}
	logging.setVState(0, nil, nil, false)
	logging.skip = 2 + skip
	logging.maxStackBufSize = 4096 * 1024
	logging.name = name

	// Default stderrThreshold is ERROR.
	logging.stderrThreshold = ErrorLog
	logging.setVState(0, nil, nil, false)

	logging.severityStats[InfoLog] = &logging.stats.Info
	logging.severityStats[WarningLog] = &logging.stats.Warning
	logging.severityStats[ErrorLog] = &logging.stats.Error

	logging.logDirs = append(logging.logDirs, os.TempDir())
	go logging.flushDaemon()
	return logging
}
func NewLogger(name string, skip int) *Log {
	logging := &Log{stats: new(Stats)}
	logging.setVState(0, nil, nil, false)
	logging.skip = 2 + skip
	logging.maxStackBufSize = 4096 * 1024
	logging.name = name

	
	logging.stderrThreshold = ErrorLog
	logging.setVState(0, nil, nil, false)

	logging.severityStats[InfoLog] = &logging.stats.Info
	logging.severityStats[WarningLog] = &logging.stats.Warning
	logging.severityStats[ErrorLog] = &logging.stats.Error

	logging.logDirs = append(logging.logDirs, os.TempDir())
	go logging.flushDaemon()
	return logging
}
func NewLogger ( name string , skip int ) * Log { logging := & Log { stats : new ( Stats ) } logging . setVState ( 0 , nil , nil , false ) logging . skip = 2 + skip logging . maxStackBufSize = 4096 * 1024 logging . name = name // Default stderrThreshold is ERROR. logging . stderrThreshold = ErrorLog logging . setVState ( 0 , nil , nil , false ) logging . severityStats [ InfoLog ] = & logging . stats . Info logging . severityStats [ WarningLog ] = & logging . stats . Warning logging . severityStats [ ErrorLog ] = & logging . stats . Error logging . logDirs = append ( logging . logDirs , os . TempDir ( ) ) go logging . flushDaemon ( ) return logging }
// NewLogger creates a new logger.
// name is a non-empty string that appears in the names of log files
// to distinguish between separate instances of the logger writing to the
// same directory.
// skip is the number of stack frames to skip in order to reach the
// call point to be logged. 0 will log the caller of the logging methods,
// 1 their caller etc.
NewLogger creates a new logger . name is a non - empty string that appears in the names of log files to distinguish between separate instances of the logger writing to the same directory . skip is the number of stack frames to skip in order to reach the call point to be logged . 0 will log the caller of the logging methods 1 their caller etc .