系统日志管理
1.创建日志实体类
SysLog
import java.util.Date;
public class SysLog {
private String id ;
private String userName ;
private String ip ;
private Date time ;
private String method ;
private String action ;
private String companyId ;
private String companyName ;
}
2.Service
com.lzq.service.system.syslog.impl.SysLogServiceImpl
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.lzq.dao.system.syslog.SysLogDao;
import com.lzq.domain.system.syslog.SysLog;
import com.lzq.service.system.syslog.SysLogService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class SysLogServiceImpl implements SysLogService {
@Autowired
SysLogDao sysLogDao;
@Override
public PageInfo<SysLog> findPage(int curr, int pageSize, String companyId) {
PageHelper.startPage(curr,pageSize);
List<SysLog> list = sysLogDao.findPage(companyId);
PageInfo<SysLog> pageInfo =new PageInfo<>(list);
return pageInfo;
}
@Override
public void addNewLog(SysLog log) {
sysLogDao.addLog(log);
}
}
3.Dao接口
com.lzq.dao.system.syslog.SysLogDao
package com.lzq.dao.system.syslog;
import com.lzq.domain.system.syslog.SysLog;
import java.util.List;
public interface SysLogDao {
List<SysLog> findPage(String companyId);
void addLog(SysLog log);
}
4.Dao.xml
com/lzq/dao/system/syslog/SysLogDao.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<!--namespace: 需要映射的Dao接口类型-->
<mapper namespace="com.lzq.dao.system.syslog.SysLogDao">
<select id="findPage" parameterType="string" resultMap="logMap">
select * from st_sys_log where company_id=#{companyId} order by time desc
</select>
<insert id="addLog" parameterType="sysLog">
insert into st_sys_log
(
id ,
user_name ,
ip ,
time ,
method ,
ACTION ,
company_id ,
company_name
)
values
(
#{id },
#{userName },
#{ip },
#{time },
#{method },
#{action },
#{companyId },
#{companyName }
)
</insert>
<resultMap id="logMap" type="syslog">
<id column="id" property="id"/>
<result column="user_name" property="userName"/>
<result column="ip" property="ip"/>
<result column="time" property="time"/>
<result column="method" property="method"/>
<result column="ACTION" property="action"/>
<result column="company_id" property="companyId"/>
<result column="company_name" property="companyName"/>
</resultMap>
</mapper>
5.Controller
package com.lzq.controller.system.log;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.lzq.controller.BaseController;
import com.lzq.dao.RoleDao;
import com.lzq.domain.system.dept.Department;
import com.lzq.domain.system.role.Role;
import com.lzq.domain.system.syslog.SysLog;
import com.lzq.domain.system.user.User;
import com.lzq.service.system.dept.DeptService;
import com.lzq.service.system.role.RoleService;
import com.lzq.service.system.syslog.SysLogService;
import com.lzq.service.system.user.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
import java.util.UUID;
@Controller
@RequestMapping("/system/log")
public class SysLogController extends BaseController {
@Autowired
SysLogService sysLogService;
@RequestMapping(path = "toList",method = {RequestMethod.GET,RequestMethod.POST})
public String toList(Model model, @RequestParam(defaultValue = "1") Integer curr, @RequestParam(defaultValue = "3") Integer pageSize,String companyId){
PageInfo<SysLog> pages = sysLogService.findPage(curr, pageSize, getCompanyId());
model.addAttribute("pi",pages);
return "system/log/log-list";
}
}
6.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<%@ include file="../../base.jsp"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>数据 - AdminLTE2定制版</title>
<meta name="description" content="AdminLTE2定制版">
<meta name="keywords" content="AdminLTE2定制版">
<meta content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no" name="viewport">
</head>
<body>
<div id="frameContent" class="content-wrapper" style="margin-left:0px;">
<section class="content-header">
<h1>
系统管理
<small>系统日志</small>
</h1>
</section>
<section class="content">
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">日志列表</h3>
</div>
<div class="box-body">
<div class="table-box">
<div class="pull-left">
<div class="form-group form-inline"></div>
</div>
<!--工具栏/-->
<!--数据列表-->
<table id="dataList" class="table table-bordered table-striped table-hover dataTable">
<thead>
<tr>
<th class="sorting">序号</th>
<th class="sorting">用户名</th>
<th class="sorting">时间</th>
<th class="sorting">ip</th>
<th class="sorting">方法</th>
</tr>
</thead>
<tbody>
<c:forEach items="${pi.list}" var="log" varStatus="st">
<tr>
<td>${st.count }</td>
<td>${log.userName }</td>
<td>${log.time}</td>
<td>${log.ip}</td>
<td>${log.action}</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</div>
<div class="box-footer">
<jsp:include page="../../common/page.jsp">
<jsp:param value="${path}/system/log/toList" name="pageUrl"/>
</jsp:include>
</div>
</div>
</section>
</div>
</body>
</html>