Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMHSanaei <ho3ein.sanaei@gmail.com>2023-07-31 19:41:47 +0300
committerMHSanaei <ho3ein.sanaei@gmail.com>2023-07-31 19:41:47 +0300
commitbf971911d50b26492fc27b4f904026ee73c0c918 (patch)
tree3bb247ea7cc44b22bdcd4c3fef7a72a1e4d07daf /web/service
parentc46ced0c4c57bd9e243bca1b068017aa8a97f4b0 (diff)
log level & syslog
Co-Authored-By: Alireza Ahmadi <alireza7@gmail.com>
Diffstat (limited to 'web/service')
-rw-r--r--web/service/server.go35
1 files changed, 17 insertions, 18 deletions
diff --git a/web/service/server.go b/web/service/server.go
index 3de5f3ff..376126df 100644
--- a/web/service/server.go
+++ b/web/service/server.go
@@ -12,6 +12,7 @@ import (
"os"
"os/exec"
"runtime"
+ "strconv"
"strings"
"time"
@@ -378,28 +379,26 @@ func (s *ServerService) UpdateXray(version string) error {
return nil
}
-func (s *ServerService) GetLogs(count string, logLevel string) ([]string, error) {
- var cmdArgs []string
- if runtime.GOOS == "linux" {
- cmdArgs = []string{"journalctl", "-u", "x-ui", "--no-pager", "-n", count}
- if logLevel != "" {
- cmdArgs = append(cmdArgs, "-p", logLevel)
+func (s *ServerService) GetLogs(count string, level string, syslog string) []string {
+ c, _ := strconv.Atoi(count)
+ var lines []string
+
+ if syslog == "true" {
+ cmdArgs := []string{"journalctl", "-u", "x-ui", "--no-pager", "-n", count, "-p", level}
+ // Run the command
+ cmd := exec.Command(cmdArgs[0], cmdArgs[1:]...)
+ var out bytes.Buffer
+ cmd.Stdout = &out
+ err := cmd.Run()
+ if err != nil {
+ return []string{"Failed to run journalctl command!"}
}
+ lines = strings.Split(out.String(), "\n")
} else {
- return []string{"Unsupported operating system"}, nil
- }
-
- cmd := exec.Command(cmdArgs[0], cmdArgs[1:]...)
- var out bytes.Buffer
- cmd.Stdout = &out
- err := cmd.Run()
- if err != nil {
- return nil, err
+ lines = logger.GetLogs(c, level)
}
- lines := strings.Split(out.String(), "\n")
-
- return lines, nil
+ return lines
}
func (s *ServerService) GetConfigJson() (interface{}, error) {