Não pode escolher mais do que 25 tópicos
Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
49 linhas
1.1 KiB
49 linhas
1.1 KiB
package main
|
|
|
|
import (
|
|
"github.com/Albert-Zhan/httpc"
|
|
"github.com/unknwon/goconfig"
|
|
"github.com/ztino/jd_seckill/cmd"
|
|
"github.com/ztino/jd_seckill/common"
|
|
"io"
|
|
"log"
|
|
"os"
|
|
"runtime"
|
|
"time"
|
|
)
|
|
|
|
func init() {
|
|
//将日志同时输出到控制台和文件
|
|
file := "./" + "jd_seckill_" + time.Now().Format("20060102") + ".log"
|
|
logFile, logErr := os.OpenFile(file, os.O_CREATE|os.O_APPEND|os.O_RDWR, 0666)
|
|
if logErr != nil {
|
|
panic(logErr)
|
|
}
|
|
defer logFile.Close()
|
|
mw := io.MultiWriter(os.Stdout, logFile)
|
|
log.SetOutput(mw)
|
|
log.SetPrefix("[jd_seckill]")
|
|
log.SetFlags(log.LstdFlags | log.Lshortfile | log.LUTC)
|
|
|
|
//客户端设置初始化
|
|
common.Client=httpc.NewHttpClient()
|
|
common.CookieJar=httpc.NewCookieJar()
|
|
common.Client.SetCookieJar(common.CookieJar)
|
|
|
|
//配置文件初始化
|
|
confFile:="./conf.ini"
|
|
var err error
|
|
if common.Config,err=goconfig.LoadConfigFile(confFile);err!=nil {
|
|
log.Println("配置文件不存在,程序退出")
|
|
os.Exit(0)
|
|
}
|
|
|
|
//抢购状态管道
|
|
common.SeckillStatus=make(chan bool)
|
|
log.Println("jd_seckill 程序启动成功,祝您成功!")
|
|
}
|
|
|
|
func main() {
|
|
runtime.GOMAXPROCS(runtime.NumCPU())
|
|
cmd.Execute()
|
|
}
|