spacewander commented on a change in pull request #5715:
URL: https://github.com/apache/apisix/pull/5715#discussion_r763564390



##########
File path: apisix/plugins/log-rotate.lua
##########
@@ -181,6 +151,70 @@ local function scan_log_folder()
 end
 
 
+local function rename_file(log, date_str)
+    local new_file
+    if not log.new_file then
+        core.log.warn(log.type, " is off")
+        return nil
+    end
+
+    new_file = str_format(log.new_file, date_str)
+    if file_exists(new_file) then
+        core.log.info("file exist: " .. new_file)
+        return new_file
+    end
+
+    local ok, err = os_rename(log.file, new_file)
+    if not ok then
+        core.log.error("move file from ", log.file, " to ", new_file,
+                " res:", ok, " msg:", err)
+        return nil
+    end
+
+    return new_file
+end
+
+
+local function compression_file(new_file)
+    if not new_file or type(new_file) ~= "string" then
+        core.log.info("compression file: ", new_file, " invalid")
+        return
+    end
+
+    local n = get_last_index(new_file, "/")
+    local new_filepath = string.sub(new_file, 1, n)
+    local new_filename = string.sub(new_file, n + 1)
+    local com_filename = new_filename .. COMPRESSION_FILE_SUFFIX
+    local cmd = str_format("cd %s && tar -zcf %s %s", new_filepath,
+            com_filename, new_filename)
+    core.log.info("log file compress command: " .. cmd)
+
+    local ok, stdout, stderr, reason, status = shell.run(cmd)
+    if not ok then
+        core.log.error("compress log file from ", new_filename, " to ", 
com_filename,
+                " fail, stdout: ", stdout, " stderr: ", stderr, " reason: ", 
reason,
+                " status: ", status)
+        return
+    end
+
+    ok, stderr = os_remove(new_file)
+    if not ok then
+        core.log.error("remove uncompressed log file: ", new_file, " fail, 
err: ", stderr)
+        return
+    end
+end
+
+
+local function init_default_logs(logs_info, log_type)
+    local filepath, filename = get_log_path_info(log_type)
+    logs_info[log_type] = { type = log_type }
+    if filename ~= "off" then
+        logs_info[log_type].file = str_format("%s/%s", filepath, filename)
+        logs_info[log_type].new_file = filepath .. "/%s_" .. filename

Review comment:
       Why should we change the rotated filename?




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to