|
|
|
|
|
|
|
|
"log" |
|
|
"log" |
|
|
"net/http" |
|
|
"net/http" |
|
|
"os" |
|
|
"os" |
|
|
|
|
|
"path/filepath" |
|
|
"text/template" |
|
|
"text/template" |
|
|
"time" |
|
|
"time" |
|
|
) |
|
|
) |
|
|
|
|
|
|
|
|
func main() { |
|
|
func main() { |
|
|
db.h = nil //make sure it's in proper state. |
|
|
db.h = nil //make sure it's in proper state. |
|
|
|
|
|
|
|
|
|
|
|
workingdir := getWorkingDir() |
|
|
|
|
|
|
|
|
//setup log file |
|
|
//setup log file |
|
|
filename := "logs/rpn.superforex." + time.Now().Format("2006-01-02-15-04-06") + ".log" |
|
|
|
|
|
|
|
|
filename := workingdir + "/logs/rpn.superforex." + time.Now().Format("2006-01-02-15-04-06") + ".log" |
|
|
f, err := os.OpenFile(filename, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666) |
|
|
f, err := os.OpenFile(filename, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666) |
|
|
if err != nil { |
|
|
if err != nil { |
|
|
log.Fatalf("Error opening file: %v", err) |
|
|
log.Fatalf("Error opening file: %v", err) |
|
|
|
|
|
|
|
|
//program never reach here. |
|
|
//program never reach here. |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
func getWorkingDir() string { |
|
|
|
|
|
dir, err := filepath.Abs(filepath.Dir(os.Args[0])) |
|
|
|
|
|
if err != nil { |
|
|
|
|
|
log.Fatal(err) |
|
|
|
|
|
} |
|
|
|
|
|
return dir |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
func errPage(w http.ResponseWriter, code int, msg string) { |
|
|
func errPage(w http.ResponseWriter, code int, msg string) { |
|
|
var data struct { |
|
|
var data struct { |
|
|
ErrorMessage string |
|
|
ErrorMessage string |