|
- # Time 2015-01-26 17:12:23
- # Author lizanle
- # Description 显示和清理系统日志
- class SystemLogController < ApplicationController
-
- before_filter :require_admin
- # 默认每页显示20条记录
- PER_PAGE = 20
- layout "base"
- include SystemLogHelper
-
- # Time 2015-01-26 17:12:46
- # Author lizanle
- # Description 查看所有日志
- def index
- @logs = SystemLog.logo_data(params[:page]||1, params[:per]||PER_PAGE, params[:search], params[:day])
- end
-
- # Time 2015-01-26 14:42:38
- # Author lizanle
- # Description 清除日志
- def clear
- SystemLog.clear params[:day]
- redirect_to :action => :index
- end
-
- # Time 2015-01-26 17:24:25
- # Author lizanle
- # Description 访问分析
- def access_analysis
- #解析日志,然后逆序
- @log_result = SystemLog.analysis(params[:day]).reverse[1...-1]
- @access_module = Hash.new
- #日誌可能為空
- if @log_result && !@log_result.empty?
- #将数组中的模块访问统计出来放到hash中 每条记录的第四个值是Controller#action的形式
- @log_result.collect! { |r| @access_module[r[3]].nil? ?
- @access_module[r[3]] = 1 : @access_module[r[3]] +=1 }
- # 去掉key可能为空记录 排序,然后取逆序
- @access_module = @access_module.delete_if { |k, v| k.nil? }.sort_by { |key, val| val }.reverse
- else
- @access_module
- end
- end
-
- # Time 2015-01-26 17:24:36
- # Author lizanle
- # Description 耗时分析
- def time_analysis
- #解析日志
- @log_result = SystemLog.analysis(params[:day]).reverse[1...-1]
- if @log_result && !@log_result.empty?
- #分页
- @log_result = Kaminari.paginate_array(@log_result).page(params[:page]||1).per(params[:per]||PER_PAGE)
- else
- @log_result = []
- end
- end
- end
|