// Info for existing log drain.
15086
func (s *Service) LogDrainInfo(ctx context.Context, appIdentity string, logDrainQueryIdentity string) (*LogDrain, error) {
	var logDrain LogDrain
	return &logDrain, s.Get(ctx, &logDrain, fmt.Sprintf("/apps/%v/log-drains/%v", appIdentity, logDrainQueryIdentity), nil, nil)
}
115103
func (tp *BytePool) Drain() {
	for o := 0; o < len(tp.list_of_pools); o++ {
		p := &tp.list_of_pools[o]
		p.mu.Lock()
		p.list = make([][]byte, 0, cap(p.list)/2)
		p.mu.Unlock()
	}
}
1119302
func (l *logger) Info(format string, args ...interface{}) {
	if l.Level >= INFO {
		l.log(INFO, format, args...)
	}
}
425514
func (gl *goLogger) Info(info, msg string) {
	log.Println("[INFO]", info, msg)
}
467410
func (l *Logger) Info(format string, v ...interface{}) {
	l.output(LInfo, format, v...)
}
1056015
func (c *ContainerCache) Drain(newSize int) {
	c.Lock()
	defer c.Unlock()
	// Make a new one, leave the old one for GC
	c.cache = make(map[string]*docker.Container, newSize)
}
396148
func Drain(ch interface{}) {
	chValue := reflect.ValueOf(ch)
	for {
		_, ok := chValue.Recv()
		if !ok {
			break
		}
	}
}
123140
func (stats *LogStats) CallInfo() (string, string) {
	ci, ok := callinfo.FromContext(stats.Ctx)
	if !ok {
		return "", ""
	}
	return ci.Text(), ci.Username()
}
253207
func InfoLogger(f Flog) Logger {
	return &wrapper{
		printf:  f.InfoPrintf,
		println: f.InfoPrintln,
	}
}
386086
func (s *logger) Info(description string, keysAndValues ...interface{}) {
	s.info(1, description, keysAndValues...)
}
631414
func (s *Scheme) Log(l conversion.DebugLogger) {
	s.converter.Debug = l
}
597062
func DrainChannel(ch chan<- *Message, expire time.Time) bool {
	var dur = time.Millisecond * 10

	for {
		if len(ch) == 0 {
			return true
		}
		now := time.Now()
		if now.After(expire) {
			return false
		}
		// We sleep the lesser of the remaining time, or
		// 10 milliseconds.  This polling is kind of suboptimal for
		// draining, but its far far less complicated than trying to
		// arrange special messages to force notification, etc.
		dur = expire.Sub(now)
		if dur > time.Millisecond*10 {
			dur = time.Millisecond * 10
		}
		time.Sleep(dur)
	}
}
304723
func (a *adapter) Info(msg string, data ...interface{}) {
	ctx := []interface{}{"lvl", "info", "msg", msg}
	ctx = append(ctx, data...)
	a.Logger.Log(ctx...)
}
1331987
func (l *Logger) Infoe(err error) {
	if l.getLevel() <= Info && err != nil {
		l.getHandler().Log(l.name, Info, err.Error(), 1)
	}
}
1153004
func (l *Logger) Info(msg interface{}, data ...interface{}) {
	if l.shouldAppend(INFO) {
		l.makeLog(msg, INFO, data)
	}
}
1302370
func (sl *SysLogger) Info(info, msg string) {
	sl.writer.Info(info + " " + msg)
}
66439
func (l *DefaultLogger) Info(msg string, args ...interface{}) {
	l.Log(LevelInfo, msg, args)
}