github.com/Uptycs/basequery-go@v0.8.0/cmd/examples/logger/main.go (about)

     1  package main
     2  
     3  import (
     4  	"context"
     5  	"flag"
     6  	"log"
     7  
     8  	osquery "github.com/Uptycs/basequery-go"
     9  	"github.com/Uptycs/basequery-go/plugin/logger"
    10  )
    11  
    12  func main() {
    13  	socketPath := flag.String("socket", "", "path to osqueryd extensions socket")
    14  	flag.Int("timeout", 0, "")
    15  	flag.Int("interval", 0, "")
    16  	flag.Parse()
    17  
    18  	server, err := osquery.NewExtensionManagerServer("example_logger", *socketPath)
    19  	if err != nil {
    20  		log.Fatalf("Error creating extension: %s\n", err)
    21  	}
    22  	server.RegisterPlugin(logger.NewPlugin("example_logger", LogString))
    23  	if err := server.Run(); err != nil {
    24  		log.Fatal(err)
    25  	}
    26  }
    27  
    28  // LogString logs the provided text to console.
    29  func LogString(ctx context.Context, typ logger.LogType, logText string) error {
    30  	log.Printf("%s: %s\n", typ, logText)
    31  	return nil
    32  }