package main import ( "os" "runtime" "plc-recorder/collector" "plc-recorder/config" "plc-recorder/logger" "plc-recorder/msg" "plc-recorder/nsqclient" "plc-recorder/webserver" "github.com/rs/zerolog" ) var logFilePath = "./log/plc-recorder.log" func main() { // 初始化配置 config.Load() // 初始化zerolog, 主要是避免plc4go打印无关的日志 zerolog.SetGlobalLevel(zerolog.FatalLevel) // 初始化日志 if runtime.GOOS == "windows" { logFilePath = "log/plc-recorder.log" } logger.InitLog(logFilePath, "debug", 15, false) logger.Info("plc-recorde start!") // 初始化nsq nsqclient.InitNsqProducer() // 订阅设备变更 go nsqclient.InitNsqConsumer(config.Options.SubDeviceTopic, "plc-recorder", collector.HandleDeviceUpdate) // 启动采集任务 collector.InitTask() // 测试数据 if len(os.Args) > 1 && os.Args[1] == "-d" { go msg.TestSendDeviceLiveData() } webserver.Serve(config.Options.ServePort) }