携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第15天,点击查看活动详情
日志记录敏感操作,并且高级权限可以查看日志记录
业务分析
日志是我在之前从没接触的一款玩意。趁着这次项目开发我将日志记录进行了浅浅的学习。
业务实现
1 . 首先,我使用的是log4j日志记录框架。log4j得在resources文件夹下进行相应资源的编写。网上一搜就有,这里就不再赘述。我们这次主要是在数据库中记录日志,因为只有这样才能呈现在页面上。其他像是文件和控制台我就没有进行设置,感兴趣的小伙伴也可以试一试。
数据库中的时间格式设置为Insert into log(level,content,time)values('%p','%m','%d{yyyy-MM-dd HH:mm:ss.SSS}')这样子就能获取到相应的时间了。
敏感操作像是增加,删除,修改图书用户等等都要加上日志记录,搜索等就不用了。因此,定义等级为trace。然后在DAO实现类中先创建logger对象。再在想要实现日志记录的操作上直接加上
logger.trace("某位用户进行了添加图书馆,添加了图书馆名称为"+libraryName);
像上面这串代码就是记录用户进行图书馆添加的操作的。
2 . 再在User实现类中进行相关方法的编写。我们只需要在前端页面中将日志记录进行渲染,而不用其他操作。因此只需要在数据库中查询日志并返回至前端页面即可。也就是只用创建一个查询所有日志的方法。这时候的操作直接仿照前面的图书或是用户的呈现即可。关键点在于日志在哪设置,搞清楚日志的实现机制。
下节我将带来如何在数据库中通过添加制约器使得定时删除30天以前的日志。