使用SpringBoot AOP 记录操作日志、异常日志 我们在做项目时经常需要对一些重要功能操作记录日志,方便以后跟踪是谁在操作此功能。...我们可以在需要的方法中增加记录日志的代码,和在每个方法中增加记录异常的代码,最终把记录的日志存到数据库中。...} 3、切面类记录操作日志 LogAspect.java package com.demo.utils.aop; import com.alibaba.fastjson.JSON; import.../** * @path:com.demo.utils.aop.LogAspect.java * @className:LogAspect.java * @description:切面处理类,操作日志异常日志记录处理...记录操作日志 在注解的位置切入代码 * @author:tanyp * @dateTime:2021/11/18 14:22 * @Params: [] * @
来源: cnblogs.com/wm-dv/p/11735828.html 一、创建日志记录表、异常日志表,表结构如下: 二、添加Maven依赖 三、创建操作日志注解类OperLog.java 四、创建切面类记录操作日志...五、在Controller层方法添加@OperLog注解 六、操作日志、异常日志查询功能 ---- 平时我们在做项目时经常需要对一些重要功能操作记录日志,方便以后跟踪是谁在操作此功能;我们在操作某些功能时也有可能会发生异常...,但是每次发生异常要定位原因我们都要到服务器去查询日志才能找到,而且也不能对发生的异常进行统计,从而改进我们的项目,要是能做个功能专门来记录操作日志和异常日志那就好了, 当然我们肯定有方法来做这件事情,...而且也不会很难,我们可以在需要的方法中增加记录日志的代码,和在每个方法中增加记录异常的代码,最终把记录的日志存到数据库中。...今天我们就来用springBoot Aop 来做日志记录,好了,废话说了一大堆还是上货吧。 一、创建日志记录表、异常日志表,表结构如下: ? ?
目前大多数Linux发行版默认也是使用rsyslog进行日志记录。..., 可能存在丢日志情况。...rsyslog的简单配置记录(如下将公司防火墙上的日志(UDP)打到IDC的rsyslog日志服务器上) 一、rsyslog服务端的部署 安装rsyslog 程序(rsyslog默认已经在各发行版安装,...现在需要将登录到 这两台服务器上的用户的所有操作过程记录下来,记录达到rsyslog日志里,相当于做用户操作记录的审计工作。...有上面日志可以看出,在172.19.10.24这台机器上的操作记录都被详细记录下来了。这样,就能清楚地知道登录到这台机器上的用户都做了些什么了.......
前提:在linux系统的环境下,不管是root用户还是其它的用户只有登陆系统后用进入操作我们都可以通过命令history来查看历史记录,可是假如一台服务器多人登陆,一天因为某人误操作了删除了重要的数据。...这时候通过查看历史记录(命令:history)是没有什么意义了(因为history只针对登录用户下执行有效,即使root用户也无法得到其它用户histotry历史)。...那有没有什么办法实现通过记录登陆后的IP地址和某用户名所操作的历史记录呢?答案:有的。...dbasky/${LOGNAME}/*dbasky* 2>/dev/null保存退出后,使用source /etc/profile 使用脚本生效图片图片图片脚本在系统的/tmp新建个dbasky目录,记录所有登陆过系统的用户和...IP地址(文件名),每当用户登录/退出会创建相应的文件,该文件保存这段用户登录时期内操作历史,可以用这个方法来监测系统的安全性。
为了让记录日志更加灵活,我们将使用自定义的注解来实现重要操作的日志记录 一 日志记录表 日志记录表主要包含几个字段,业务模块,操作类型,接口地址,处理状态,错误信息以及操作时间。...', PRIMARY KEY (`id`) ) ENGINE=InnoDB CHARSET=utf8mb4 CHECKSUM=1 COMMENT='操作日志记录' 对应的实体类如下: @Data...INSERT, /** * 修改 */ UPDATE, /** * 删除 */ DELETE, } 使用异步方法将操作日志存库...class AsyncLogService { @Autowired private JdbcTemplate jdbcTemplate; /** * 保存系统日志记录...){ return -1; } return 1; } } 当然,还可以在数据库中将请求参数和响应结果也进行存储,这样就能看出具体接口的操作记录了
这使得比较难以区分不同用户所对应的日志。当需要追踪某个用户在系统中的相关日志记录时,就会变得很麻烦。 一种解决的办法是采用自定义的日志格式,把用户的信息采用某种方式编码在日志记录中。...这种方式的问题在于要求在每个使用日志记录器的类中,都可以访问到用户相关的信息。这样才可能在记录日志时使用。这样的条件通常是比较难以满足的。MDC 的作用是解决这个问题。 ...使用MDC来记录日志,一来可以规范多开发下日志格式的一致性,二来可以为后续使用ELK对日志进行分析。...MDC恰到好处的让你能够实现在日志上突如其来的一些需求 如果你是个代码洁癖,封装了公司LOG的操作,并且将处理线程跟踪日志号也封装了进去,但只有使用了你封装日志工具的部分才能打印跟踪日志号,其他部分(比如...当然我们可以通过linux命令来绕过这些困扰。 使代码简洁、日志风格统一
,/usr/var/slowquery.log 是日志记录的位置。...然后重新启动MySQL服务 注意,mysql 5.6版本,记录慢查询日志的配置方式有修改为: long_query_time=2 slow_query_log=1 slow_query_log_file...Linux:Linux 的配置文件为 my.cnf ,一般在 /etc 下。...注:可通过mysql>show full processlist;来查看当前mysql的连接进程; 3、要记录所有操作日志,包括select 在my.ini或my.cnf配置文件,[mysqld]中增加...:log=文件名 例:log=/tmp/mysqlquery.log 重启mysqld,即会把所有相关操作日志都记录下来 注意:log记录的位置,mysql要有写权限; 注意,mysql 5.6版本,记录所有操作日志的配置方式有修改为
切面 切面中仅记录用户除登陆和退出以外的操作 import com.alibaba.fastjson.JSON; import org.aspectj.lang.JoinPoint;...:切面处理类 切面只记录除登陆和退出的记录 登录退出日志在监听器中记录 * @Author: huat * @Date: 2020/3/5 22:26 * @Version: 1.0 */ @Aspect...@AfterReturning("logPoinCut()") public void saveSysLog(JoinPoint joinPoint) { //保存日志...security的方法,所以在登陆后直接跳转一个我们自定义的方法,在此方法中记录用户操作然后在进入首页 @RequestMapping("jumpIndex") public String jumpIndex...(HttpSession session) { //记录用户登陆操作 SysLog sysLog=new SysLog(); sysLog.setUsername
写在开头 本文讨论如何优雅的记录操作日志,并且实现了一个SpringBoot Starter(取名log-record-starter),方便的使用注解记录操作日志,并将日志数据推送到指定数据管道(...消息队列等) 本文灵感来源于美团技术团队的文章:如何优雅地记录操作日志?。...:)——蛮三刀酱 本文目录: 什么是操作日志? Java中常见的操作日志实现方式 实战:通过注解实现操作日志的记录 什么是操作日志?...常见的操作日志实现方式 在小型项目中,这种日志记录的操作通常会以提供一个接口或整个日志记录Service来实现。...一、特定操作记录日志:如文章最上面一张CRM系统的图描述的那样,在用户进行了编辑操作后,拿到用户操作的数据,执行日志写入。
项目出现异常,要定位问题,查看日志是最常用的方法,在Linux系统查看一些日志文件,我们一般会使用tail、cat等命令,下面总结归纳一下这些常用的命令。...,所以需要加上more命令进行分页 cat -n test.logs |more vim:vim命令,是Linux系统用于文本编辑的,不过也可以用来查看日志文件,语法vim test.logs,查询关键字使用...所以结合grep命令可以对关键字出现次数进行统计 grep -o "word" test.logs | wc -l 4、sed命令的使用 补充,先介绍一下sed命令,sed命令最初由贝尔实验室开发,后被众多Linux...系统接纳集成,sed是能够通过正则表达式对文件进行批量编辑查看等操作 下面给出sed命令的常用参数和作用 参数 作用 -e或--expression= 以指定的脚本来处理输入的文本文件...logs文件里 sed -n '1,1000'p 5003.logs > 1.logs 附录:Linux命令查询 https://www.linuxcool.com/
有时候我们需要对线上用户操作记录进行历史记录待出现问题追究责任人,但Linux系统自带的history命令用户有自行删除权限,那怎么设置可以让用户的操作记录实时记录,并保证普通用户无权删除呢?...一般小型架构添加这个足够了,如果中大型的架构建议使用 jumpserver 创建记录目录 mkdir -p /usr/local/domob/records/ chmod 777 /usr/local...\" \"\$5}") #### $(history 1 | { read x cmd; echo "$cmd"; })"; } >>$HISTORY_FILE' 只有root用户才可以查看所有用户的操作记录
为了安全考虑,通常会对一些重要文件进行加密备份或加密保存,下面对linux下的文件加密方法做一简单介绍: 一、 ZIP加密 1)文件加密 使用命令"zip -e filename.zip filename...[root@centos6-vm02 ~]# zip -e test.txt.zip test.txt //如下进行加密操作时,需要输入两次密码 Enter password:...在如今的大多数Linux发行版中,gnupg程序包都是默认随带的,所以万一它没有安装,你可以使用apt或yum从软件库来安装它(yum install gnupg)。...[root@centos6-vm02 ~]# rm -f test.txt 文件解密操作。
linux 下怎样寻找mongodb安装的位置 find / -name mongodb #通用方法,同时返回的比较多的信息,不管有没有权限的 locate mongodb #不推荐 whereis...ctrl+print Screen SysRq (台式机) 参考: 导入数据的:http://www.cnblogs.com/qingtianyu2015/p/5968400.html 基本操作...网页启动:http://www.cnblogs.com/hanyinglong/archive/2016/07/21/5690611.html 编辑启动:http://www.linuxidc.com/Linux
linux 下怎样寻找mongodb安装的位置 find / -name mongodb #通用方法,同时返回的比较多的信息,不管有没有权限的 locate mongodb #不推荐...ctrl+print Screen SysRq (台式机) 参考: 导入数据的:http://www.cnblogs.com/qingtianyu2015/p/5968400.html 基本操作...网页启动:http://www.cnblogs.com/hanyinglong/archive/2016/07/21/5690611.html 编辑启动:http://www.linuxidc.com/Linux
一、参考链接 阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 calculate-linux镜像-calculate-linux下载地址-calculate-linux安装教程 https://mirrors.aliyun.com.../calculate-linux/release/22.0.1/cld-22.0.1-x86_64.iso 二、Calculate简介 Calculate Linux 是一个基于 Gentoo的发行版本...Calculate 目录服务器 (CDS) 是一个通过LDAP+SAMBA支持Windows和Linux客户端的解决方案,提供包括代理,邮件和 Jabber 的精简用户服务。...Calculate Linux Scratch (CLS) 是为创造定制发行版准备的已编译的框架。...至此,Calculate Linux系统安装完成。
1、点击[确定] 2、点击[系统和安全] 3、点击[查看事件日志] 4、点击[Windows日志] 5、点击[应用程序] 6、点击[应用程序] 7、点击[将所有事件另存为] 8、点击
介绍SpringBoot快速启动测试AOP,巧妙打印日志信息。...4、AOP应用场景 记录日志 监控性能 权限控制 事务管理 快速开始 引入依赖 如果你使用的是SpringBoot,那么只需要引入:spring-boot-starter-aop,框架已经将spring-aop...{ private static final long serialVersionUID = 1L; // 操作描述 private String description;...// 操作时间 private Long startTime; // 消耗时间 private Integer timeCost; // URL...ipAddress; // 请求参数 private Object params; // 请求返回的结果 private Object result; // 操作类型
在Web应用程序开发中,记录用户操作日志是一项非常重要的任务。它可以帮助我们追踪用户行为,分析系统状况,以及审计系统的安全性。本文将介绍如何在SpringBoot框架中实现用户操作日志的记录功能。...在SpringBoot中,我们可以使用AOP来拦截用户的操作,并在拦截的方法中添加日志记录逻辑。...org.springframework.boot spring-boot-starter-aop然后,创建一个切面类,用于拦截用户操作并记录日志...使用Filter(过滤器)另一种实现日志记录的方法是使用过滤器。过滤器可以在请求到达控制器之前执行,因此可以用于记录请求信息和日志。...总结本文介绍了两种在SpringBoot中记录用户操作日志的方法:使用AOP和使用过滤器。你可以根据项目的实际需求选择合适的方法。
Grace[ɡreɪs]是一款业务操作日志记录框架,让我们使用更优雅方式来记录有效的、可读性高的操作日志。...q=grace-bom 记录日志 记录日志主要是依靠@GraceRecorder注解来配置,该注解只能在方法上使用。...:判定是否执行记录操作日志,支持使用SpEL表达式方式配置 bizNo:业务编号,支持使用SpEL表达式方式配置 operator:操作日志所关联的操作人,支持使用SpEL表达式方式配置 category...:日志分组,可用于对操作日志进行归类 注意:SpEL表达式使用模板定义前后缀的方式,只有在{}内的字符串才会被解析。...userName; private int age; } 条件判断 @GraceRecorder注解有个condition条件属性,支持SpEL表达式配置,如果配置了该属性,只有表达式解析结果为true时才会记录操作日志
'$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" $request_time'; 记录的形式如下..." %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %T " combined CustomLog log/access_log combined 记录的形式如下...6. grep多条件与或操作 有时候我们需要在nginx日志通过多个条件来查找某些特定请求,比如我需要找个某个用户浏览文章的请求,则可以需要同时匹配两个条件: 浏览文章接口GET /app/kevinContent...grep对应的与操作命令如下: [root@Fastdfs_storage_s1 ~]# grep -E "GET /app/kevinContent....7. grep打印匹配的前后几行 有时候我们需要查找某个特定请求的前后几行的请求,以观察用户的关联操作情况。