summaryrefslogtreecommitdiff
path: root/notes.go
blob: 6b422f6eb745721bd0648943f99d120f1964e371 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
package log

/*
var argv struct {
	Foo string
	Bar bool
	User string `arg:"env:USER"`
	Demo bool `help:"run a demo"`
}
*/

/*
var f1 *os.File
var f2 *os.File
var err error
*/

/* from gocron:

// DefaultLogger is used by Cron if none is specified.
var DefaultLogger Logger = PrintfLogger(log.New(os.Stdout, "cron: ", log.LstdFlags))

// DiscardLogger can be used by callers to discard all log messages.
var DiscardLogger Logger = PrintfLogger(log.New(ioutil.Discard, "", 0))

// Logger is the interface used in this package for logging, so that any backend
// can be plugged in. It is a subset of the github.com/go-logr/logr interface.
type Logger interface {
	// Info logs routine messages about cron's operation.
	Info(msg string, keysAndValues ...interface{})
	// Error logs an error condition.
	Error(err error, msg string, keysAndValues ...interface{})
}

*/

//	fmt.Println(argv.Foo, args.Bar, args.User)
/*
	// from: https://github.com/robfig/cron/blob/master/logger.go
	log.Println()
	log.Println("STDOUT is now at /tmp/guilogfile")
	log.Println("STDOUT is now at /tmp/guilogfile")
	log.Println()
	f1, err = os.OpenFile(outfile, os.O_RDWR | os.O_CREATE | os.O_APPEND, 0666)
	if err != nil {
		log.Fatalf("error opening file: %v", err)
	}
	// hmm. is there a trick here or must this be in main()
	// defer f.Close()

	log.SetOutput(f1)
	log.Println("This is a test log entry")
*/

/*
func captureSTDOUT() {
	f2, _ = os.OpenFile("/tmp/my.log", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0664)
	multiWriter := io.MultiWriter(os.Stderr, f2)
	rd, wr, err := os.Pipe()
	if err != nil {
	    os.Exit(1)
	}

	// overwrite os.Stdout
	os.Stderr = wr

	go func() {
	    scanner := bufio.NewScanner(rd)
	    for scanner.Scan() {
	        stdoutLine := scanner.Text()
	        multiWriter.Write([]byte(stdoutLine + "\n"))
	    }
	}()

	fmt.Println("foobar")

	// hacky sleep to ensure the go routine can write before program exits
	time.Sleep(time.Second)
}
*/