You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.0 KiB
52 lines
1.0 KiB
|
3 years ago
|
package common
|
||
|
|
|
||
|
|
import (
|
||
|
|
"flag"
|
||
|
|
"fmt"
|
||
|
|
"log"
|
||
|
|
"os"
|
||
|
|
"path/filepath"
|
||
|
|
)
|
||
|
|
|
||
|
|
var (
|
||
|
|
Port = flag.Int("port", 8080, "the listening port")
|
||
|
|
PrintVersion = flag.Bool("version", false, "print version and exit")
|
||
|
|
PrintHelp = flag.Bool("help", false, "print help and exit")
|
||
|
|
LogDir = flag.String("log-dir", "", "specify the log directory")
|
||
|
|
)
|
||
|
|
|
||
|
|
func printHelp() {
|
||
|
|
fmt.Println("Api2gpt " + Version + " - Mid Service.")
|
||
|
|
fmt.Println("Copyright (C) 2023 api2gpt. All rights reserved.")
|
||
|
|
fmt.Println("WebSite: https://www.api2gpt.com")
|
||
|
|
fmt.Println("Usage: one-api [--port <port>] [--log-dir <log directory>] [--version] [--help]")
|
||
|
|
}
|
||
|
|
|
||
|
|
func init() {
|
||
|
|
flag.Parse()
|
||
|
|
|
||
|
|
if *PrintVersion {
|
||
|
|
fmt.Println(Version)
|
||
|
|
os.Exit(0)
|
||
|
|
}
|
||
|
|
|
||
|
|
if *PrintHelp {
|
||
|
|
printHelp()
|
||
|
|
os.Exit(0)
|
||
|
|
}
|
||
|
|
|
||
|
|
if *LogDir != "" {
|
||
|
|
var err error
|
||
|
|
*LogDir, err = filepath.Abs(*LogDir)
|
||
|
|
if err != nil {
|
||
|
|
log.Fatal(err)
|
||
|
|
}
|
||
|
|
if _, err := os.Stat(*LogDir); os.IsNotExist(err) {
|
||
|
|
err = os.Mkdir(*LogDir, 0777)
|
||
|
|
if err != nil {
|
||
|
|
log.Fatal(err)
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|