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:
authorsomebodywashere <68244480+somebodywashere@users.noreply.github.com>2024-01-01 18:07:56 +0300
committerGitHub <noreply@github.com>2024-01-01 18:07:56 +0300
commitceee1e4277953b68aeded8af01cf2eddfee2fbd5 (patch)
tree7ff9f21d8c300ffd45473500337cff4a45ab7b65 /web/job/clear_logs_job.go
parentb725ea7de5ed73a36a9cd2c23bb247ca6b587573 (diff)
Major changes to tgbot, also small changes for panel (#1463)
* Reduce outage time on Xray errors * Improved logs clearing, added previous logs File name change: 3xipl-access-persistent.log -> 3xipl-ap.log All previous logs have .prev suffix * Preparations for tgbot additions * [tgbot] Improvements, Additions and Fixes * Changed interaction with Expire Date for Clients * Added more info and interactions with Online Clients * Added a way to get Ban Logs (also added them to backup) * Few fixes and optimizations in code * Fixed RU translation * [tgbot] More updates and fixes * [tgbot] Quick Fix * [tgbot] Quick Fix 2 * [tgbot] Big Updates Added Notifications for Clients throught Tgbot (when Expire) Added compability for Usernames both w/wo @ Added more buttons overall for admins * [tgbot] Fixes * [tbot] Fixes 2 * [tgbot] Removed usernames support for Notifications to work * [tgbot] Fix * [tgbot] Fix Notify * [tgbot] small fixes * [tgbot] replyMarkup only for last message on big messages * [tgbot] Fixed last message is empty * [tgbot] Fix messages split
Diffstat (limited to 'web/job/clear_logs_job.go')
-rw-r--r--web/job/clear_logs_job.go31
1 files changed, 29 insertions, 2 deletions
diff --git a/web/job/clear_logs_job.go b/web/job/clear_logs_job.go
index 34f13eaa..5ceb5a75 100644
--- a/web/job/clear_logs_job.go
+++ b/web/job/clear_logs_job.go
@@ -15,10 +15,37 @@ func NewClearLogsJob() *ClearLogsJob {
// Here Run is an interface method of the Job interface
func (j *ClearLogsJob) Run() {
logFiles := []string{xray.GetIPLimitLogPath(), xray.GetIPLimitBannedLogPath(), xray.GetAccessPersistentLogPath()}
+ logFilesPrev := []string{xray.GetIPLimitPrevLogPath(), xray.GetIPLimitBannedPrevLogPath(), xray.GetAccessPersistentPrevLogPath()}
- // clear log files
+ // clear old previous logs
+ for i := 0; i < len(logFilesPrev); i++ {
+ if err := os.Truncate(logFilesPrev[i], 0); err != nil {
+ logger.Warning("clear logs job err:", err)
+ }
+ }
+
+ // clear log files and copy to previous logs
for i := 0; i < len(logFiles); i++ {
- if err := os.Truncate(logFiles[i], 0); err != nil {
+
+ // copy to previous logs
+ logFilePrev, err := os.OpenFile(logFilesPrev[i], os.O_CREATE|os.O_APPEND|os.O_RDWR, 0644)
+ if err != nil {
+ logger.Warning("clear logs job err:", err)
+ }
+
+ logFile, err := os.ReadFile(logFiles[i])
+ if err != nil {
+ logger.Warning("clear logs job err:", err)
+ }
+
+ _, err = logFilePrev.Write(logFile)
+ if err != nil {
+ logger.Warning("clear logs job err:", err)
+ }
+ defer logFilePrev.Close()
+
+ err = os.Truncate(logFiles[i], 0)
+ if err != nil {
logger.Warning("clear logs job err:", err)
}
}