tomcatfixgo/main.go

68 lines
1.2 KiB
Go
Raw Normal View History

2022-01-06 15:35:34 +08:00
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, _
}