* regen files with never protoc * rewrite import path Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
		
			
				
	
	
		
			45 lines
		
	
	
		
			622 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			622 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package kubernetes
 | |
| 
 | |
| import (
 | |
| 	"encoding/json"
 | |
| 	"fmt"
 | |
| 	"os"
 | |
| 	"sync"
 | |
| 
 | |
| 	"github.com/unistack-org/micro/v3/debug/log"
 | |
| )
 | |
| 
 | |
| func write(l log.Record) error {
 | |
| 	m, err := json.Marshal(l)
 | |
| 	if err == nil {
 | |
| 		_, err := fmt.Fprintf(os.Stderr, "%s", m)
 | |
| 		return err
 | |
| 	}
 | |
| 	return err
 | |
| }
 | |
| 
 | |
| type kubeStream struct {
 | |
| 	// the k8s log stream
 | |
| 	stream chan log.Record
 | |
| 	sync.Mutex
 | |
| 	// the stop chan
 | |
| 	stop chan bool
 | |
| }
 | |
| 
 | |
| func (k *kubeStream) Chan() <-chan log.Record {
 | |
| 	return k.stream
 | |
| }
 | |
| 
 | |
| func (k *kubeStream) Stop() error {
 | |
| 	k.Lock()
 | |
| 	defer k.Unlock()
 | |
| 	select {
 | |
| 	case <-k.stop:
 | |
| 		return nil
 | |
| 	default:
 | |
| 		close(k.stop)
 | |
| 		close(k.stream)
 | |
| 	}
 | |
| 	return nil
 | |
| }
 |