func log(s ...interface{}) {
	f, err := os.OpenFile("info.log", os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666)
	if err != nil {
		fmt.Printf("error opening log file: %v", err)
		os.Exit(1)
	}
	defer f.Close()
	log.SetOutput(f)
	ss := ""
	for _, p := range s {
		switch p.(type) {
		case bool:
			ss += fmt.Sprintf("%t ", p.(bool))
		case int:
			ss += fmt.Sprintf("%d ", p.(int))
		case float64:
			ss += fmt.Sprintf("%.2f ", p.(float64))
		case string:
			ss += fmt.Sprintf("%s ", p.(string))
		}
	}
	log.Println(ss)
}

   Recent articles
Web Blackjack in ReactJS
GUI Blackjack in C using the SDL2
How-to build latest Linux kernel from Linus' git repo on Debian
ignore latin1 problem via psql
Convert one m4a file to many mp3s
   Tags
apache (1) apple (1) bash (2) bashrc (1) blackjack (3) c (1) callproof (1) clang (1) console (1) data (1) debian (4) diff (1) django (2) enterprise (1) freebsd (1) games (1) git (3) github (2) gmail (1) go-lang (3) google (1) gourse (1) kernel (3) latin1 (1) linux (4) lottery (1) microsoft (1) module (1) mongodb (1) mp3s (1) mutt (1) patch (1) postgresql (2) powerball (1) psql (1) python (2) raspberrypi (1) reactjs (1) sdl (1) sed (1) stack (1) testing (2) trace (1) typescript (1) ubuntu (2) utf8 (1) virus (1)
   Twitter

Copyright © 2018 · GregDonald.com · All Rights Reserved