diff options
| author | MHSanaei <ho3ein.sanaei@gmail.com> | 2023-07-31 19:41:47 +0300 |
|---|---|---|
| committer | MHSanaei <ho3ein.sanaei@gmail.com> | 2023-07-31 19:41:47 +0300 |
| commit | bf971911d50b26492fc27b4f904026ee73c0c918 (patch) | |
| tree | 3bb247ea7cc44b22bdcd4c3fef7a72a1e4d07daf /web/service | |
| parent | c46ced0c4c57bd9e243bca1b068017aa8a97f4b0 (diff) | |
log level & syslog
Co-Authored-By: Alireza Ahmadi <alireza7@gmail.com>
Diffstat (limited to 'web/service')
| -rw-r--r-- | web/service/server.go | 35 |
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) { |
