package main import ( "errors" "fmt" "os" "strings" log "github.com/sirupsen/logrus" ) func main() { // 初始化日志信息 log.SetFormatter(&log.TextFormatter{}) file, err := os.Create("tomcatfix.log") defer file.Close() if err != nil { fmt.Println("日志文件创建失败") return } log.SetOutput(file) log.SetLevel(log.WarnLevel) readServerXMl() } /* 读取配置 @author lroyia @since 2022年1月6日 15:31:41 */ func readServerXMl(){ home, err := getHome() if err != nil{ log.Debug(err.Error()) os.Exit(0) } } /** 获取CATALINA_HOME @author lroyia @since 2022年1月6日 15:30:32 */ func getHome() (string, error){ home:= "" // 1、从命令行参数中获取 for _, each := range os.Args { if(strings.Index(each, "-H=") == 0){ home = strings.Split(each, "=")[1] return home, nil } } // 2、判断是否为当前目录,如果是则获取当前目录 _, err := os.Stat("webapps") defer os.Stat("..") if err != nil && os.IsExist(err) { return home, nil } // 3、获取环境变量中的CATALINA_HOME home = os.Getenv("CATALINA_HOME") if home == "" { return "", errors.New("没有找到CATALINA_HOME") } return home, _ }