60 lines
1.7 KiB
Ruby
60 lines
1.7 KiB
Ruby
# 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
|