68 lines
1.2 KiB
Go
68 lines
1.2 KiB
Go
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, _
|
||
} |