粉丝396获赞1794

你们有没有过这种情况,在我们日常开发过程中,在测试或者预生产环境,需要打印一些日志,对自己的代码进行调试,但是到了生产环境,为了性能或减少一些磁盘的存储,我们需要调整日志级别。 那么在不重启服务的情况下,我们应该怎么处理呢?这里我通过斯不认布头中的艾克吹特指标监控,对日式级别进行动态修改,看一下代码视力。这是一个斯不认布的项目,这里我引入了艾克吹特,并且对艾克吹特进行了配置, 他的端口默认是八零八零,这里我还定义了一个 ctrl, 这个 ctrl 呢只打印了四行不同级别的日志。咱们可以通过八零八零端口访问一下,看一下 ictreeter, 这是看到他这个页面监控指标,但是咱们这里只关心这个 logs 这个 标。咱们通过页面呢,可以访问看一下咱们现在的 ctrl 级别是 info 级别的,通过 postman 调一下,咱们写这个 log 接口,咱们调一下, 这里看到控制台只打印了音否级别以上的日志。 debug 日志没有打印,因为刚才咱们已经看到了他的默认级别是音否的。 这里呢,咱们就可以通过 postman 调用 ictreeter 对日志级别进行修改。咱们看一眼调用过程,这里可以调用这个地址,然后通过修改它的级别,把它修改成 debug, 然后咱们调用一下, 这也可以,咱们再刷新一下页面,哎,看到了他的级别就是 debug, 那么咱们再重新调一下咱们这个 log 接口发送一下,可以看到这个日志,他已经打印出了 debug 级别的日志,这就是在不重启服务的情况下,动态修改日志级别。小伙伴们还有什么好的方案吗?评论区讨论一下。

日制呢,我们添加上的做到这里呢,咱们日制已经可以控制住了,那接下来我们就要来说说这组信息了, 这组信息显示以后呢,其实你会发现哦,原来我自己写的信息都在最后面,对吧? 那前面的这些信息都是什么呢?如果你不了解日制,你看这个代码就比较辛苦。来说一下, 对于我们的日志来说,他的信息由这么如下几部分组成,首先他会有一个日期,时间精确到毫秒 当前日制对应的时间,即日制的一个最核心的信息就是这条日制对应的时效性在什么时间发生的。第二个日制的级别,这个级别是由你自己记录控制, 而框架内会有很多的框架设定,打日制也是为了方便我们的开发者使用的时候看到他的一些核心信息的。第三个信息叫做 pid, 这个 pid 之前带着大家看过,还记得吧,咱们在 windows 还有另一个词下杀人物的时候用这个 pid, 那么这个 pid 有什么用呢?他表示进程,用来表明当前操作在哪个进程中,你现在做这种学习的时候你看不出来,等到你上线的时候有多个服务同时记日制的时候,那我告你就热闹了, 这个时候没有这个 pid, 你都不知道是哪个服务给你寄的。说的简单一点,我有八个服务器用来干同一件事,比如说双十一的订单,处理速度比 比较慢,我们给他扩容好,扩了八个服务器,问题来了,出问题了,接着治了,谁给你记得呢? pid 能帮你分辨出来, ok 吧, 他主要用来协助程序员做程序调试的啊,接下来呢就是这个慢,这是什么所属的县城主,县城后面还有其他的名称啊,至于这个简简简中口号,这是你自己手工加上的,不重要啊。 然后再往后,下面这个信息是什么?是当前日制在哪个类或者接口里边触发激活的,说白了就是你当前的日制的记录位置是在哪个类里。不过这里边有一个信息需要给大家说一下啊, 可能有很多人没有关注过,你见过这样的类名包名吗?系统定义的前面的包名是 w s 点 c 点搜雷特,外边搜雷特、艾伯雷克星、康泰克斯。没有啊,注意,在布特里边对这个日制记录的类名进行了一个格式重写,他把所有的长名称苞米全部都简化了, 简化成一个字母。有人说那万一类名的长度非常长超过呢?没有,这个地方给的位置非常之宽,有四十位置多, 一般的类名都写不到四十位啊,所以说一定会解决这个问题的,你像我们写的科目点 it 黑马点 spa 什么什么,是不是就显示完了? 如果你写的再长一点的话,你也会发现这个现象的啊,这就是咱们所说的这个所属类或者接口名啊,名称过长寿,他有一个简化规则,最后一个这是我们的日志消息,也就是你在节日制的时候在那个里边打 的那个信息。到这呢,咱们就已经看完了所有的日志相关的格式了, 那我们记录的格式如果想进行调整不计,这样怎么办呢?也必须得能设置,那接下来就带着大家来设一下日制的输出格式, 咱们把格式给调整一下啊,关于日制记录过程中使用的各种各样的占位服,比如说百分号 d 代表日期,百分号 m, 你也可以写 msg 代表消息, n 代表换行。这些东西呢,不在这个课里讲了,大家到评论区第一条去找对应的课程,应该在外边课程中讲的啊, 来,咱们直接改一下啊,这就又牵手到我们布特的知识了,就是在这里边如何设置我们的日制消息格式啊?先打个 logo, 日制的记录格式,这算个啥?其实就是模板啊, p a t t e r n 方案或者模板 pardon 出来了,看到没有?第一个 logging pardon, 第二抗揍什么意思?控制台输出的日志长什么样 吧,后面给了你个例子,非常之长啊,不太好懂。没关系,咱们按照自己的想法写就行, 我写到这以后,你会发现他的第一集直接合并到上面了,不用管他了啊,咱们就接着这个地方写,在这写一下,设置日制的模板格式, 然后在这我们写上一个百分号 d 代表时间,然后我空一格写个减号,再空一格,一会你去看这个减号啊,来个百分号 m, 这是消息,你也可以写 msg, 也可以写 m essag message, 各种各样的格式。最后呢,我再来一个百分号 n, 当然这个东西你挨着写也行,空一格写也行,因为这个东西本身是一个不可见的字符,不管你前面写啥,他都不影响啊, 把他的整体信息写完以后呢,最后记得把他写在一个字符串内,因为这里边用到的符号都过于特殊了啊,这些东西他没法解析。来,咱们再来运行,注意观察。嗯,现在已经运行完了, 是不是有一种好清爽的感觉。日制的消息格式被我们定义了,这是时间,这是消息, 后面直接一换行,你要把百分号 n 一去掉,我告诉你,就一行都连在一起的,那我们把这两行给他注掉,然后我们再来运行一下, 我们看看原来的格式是不是花花绿绿的,还挺有意思的,是吧,那咱们就写个这样的格式吧。 哎,让大家也体验一下啊。来,我把它打开,上面这一行呢,咱就不要了,再写一行,把这一行替换掉就行了。咱们可以一起来分析这些啊。第一个时间半封号 d 没问题,然后接着空一格, 这个东西叫什么?叫做日志级别,在这里边用的词叫什么?叫做百分号 p, ok 吧。 然后后面东西我先去掉啊。先说一下这个百分号 p, 它代表的是我们的 level, 就是你的每一个级别, 我们来运行一下得,没有换行,直接可以搞到一行上了啊,会死人的啊。先把换行给他挂上 啊,刷新一下,刷完以后呢,咱们来看一看他的效果,现在这都是英佛类的信息,我来刷一下他, 你会看到是不是有的长有的短,这样不利于对齐。怎么办?我们在前面给他加个数字,五代表这一位,他的占的总宽度是五位,为什么是五?第八个五个字母,音符四个字母, 然后 l 五个字母,呜吻四个字母,不管是四个五个都按五个,这样便于他对齐。所以你经常看到百分号干五 p 啊,在这呢啊,这个写错地了啊,百分之二干五 p 就是这意思, 但是仔细看看,哎,怎么不带颜色呢?你的颜色哪去了呢?来说一下,你把这行注掉,在这打 一个康寿,后面会给你提示,看到这个 clr 了吧,什么意思?彩色,就是用彩色标注,这个是需要你的日志本身支持的啊,咱们这个明显的是支持的,把它加上百分号 clr 怎么用呢?注意给谁家放在谁上面,百分号 clr, 然后一个小括号把它包裹住,别忘了这件事啊。然后我们再来刷一下,看看现在这个颜色是否上去了, 是不是已经上来了。好,在这边呢,我们去刷新一下,然后到这边来,是不是所有颜色都有了, 如果你想改这个颜色能不能改呢?能改一会再给大家说啊。好了,到这呢,这一步演完了,接着往下执行原来的看啊,下边这个东 东西哦,这个东西就厉害了,这个东西是 pid, 这个 pid 呢,在咱们这里边没法直接获取,这是布特给重写的东西,咱们放过这一个啊,直接往后面写, 然后减减减,记得这中间我空了一格,然后再空一格,来一对中口号,看到这对中口号了吧, 哎,然后把里边现成名给他打上,现成名叫什么?百分号 sred thid, 剪成百分号 t, 这就 ok 了。然后呢,我们再去刷一下,看看效果如何啊,看看和他出来的效果差别有多大。 这个进程号呢,咱们就不管了啊, ok 吧,但是总感觉人家那个上面好像和我们的不太一样啊,前面是不是有很多 空格哎,在这个地方呢,他设置了这个地方的站位一共有多长? 这个长度是十六,所以在这个地方你要给他标注你的这个百分号 t, 十二点的显示是十六位, ok 吧,来把这个十六加上,以后呢,你看上去就会稍微舒服一点点,再来看一看啊, 来看现在是不是一样了,哎,搞定啊,接着继续往下,就是这种日志呢,别人怎么写的了解一下,回头你自己写的时候你也有思路啊。 下面这一个是吗?类名对吧?那类名叫什么呢?叫做百分号 class, 简称百分号 c, 这就是类名,我们给他刷一下来刷新,刷新完以后我们看。哎,现在这是不是类名出来了?哦,原来有这么 长啊,还记不记得我前面跟你们说的 osb w 什么 et 什么玩意的?就是这里边的首字母。明白,如果实在不够长,他会删除掉一些的,反正都已经成缩略形式了, 你看到不看到无所谓了,因为他是为了保证整齐的输出,所以做的这样。那我们也给他规定一下吧。怎么规定呢?哎,咱们给这改一下,我们说类名四十位宽,百分号四十 c, 这就是四十位宽, 有人一看这什么玩意,别着急,我把他后面的消息给你挂上,咱们再说啊,最后再来调他,因为这里边调试最麻烦的就是这个类名啊,看看他最后是不是空了一格,然后加了个 冒号,又空一格加消息,咱先把这些东西给他挂上啊,空一格冒号,再空一格,来个百分号 m, 这是消息,然后换行。好了,这就设完了。然后我们先来看一看整体啊,再来说这里边的问题, 来看一看。哎,现在已经出来了,怎么和别人不一样啊?这这这,这都什么乱七八糟,说一下,他现在的对齐规则是不一样的,你注意一下这个冒号,他是不是一直在尝试性的对齐, 对吧?但是总会有一些特别耽误事的,特别长的,所以他要对他进行一个阶段的操作。那截多少位呢?刚才说了四十位,这是首先他截四十位,那有人说人家那类名左边没有空格,哎。接下来的我 题是结四十位以后默认的是怎么对齐,右对齐还是左对齐?现在我用的是右对齐,我们要用左对齐的话减四十,再来刷一下,再来看 现在是不是已经左对齐了。这个问题已经解决了,那么四十位长如果超过部分怎么办呢?做删除处理。所以在这个后面还要再说你里边显示的内容长度的控制,我们再来个点四十, 这个点四十控制的是内容的截取,再来刷完以后呢,你就能看到和刚才有点不太一样了,现在已经彻底 ok 了,注意观察。我这里边泪明都留下来了,但是你看前面和人家一样吗? 还是不太一样的,对不对?我这是直接就结,啥都不管,我要求类名必须显示,但是左边的报名就管不了那么多了,所以显示成啥样就啥样了, ok 吧。好到这呢,彻底解决了。有人觉得还是不太像颜色,对,把颜色给他挂上, 再来复制一下,把这个百分号这一串给他挂上去,再来刷。现在颜色就上来了,上来归上来,但是他是个绿的,人家原来是什么颜色, 不知道看一眼嘛?看一看,嗯,是这个颜色,对吧?那好了,要想给他设置颜色怎么设置?简单,在你设置颜色的时候,你要想指定颜色,直接在后面打一对大口号,把颜色打上 c、 y、 a、 n, 这是一个清 红色啊,再来刷一下来看一看,这是我们自己调的颜色, ok 吧,你说我想看红 id 马上就能调啊,但是这个颜色呢,他并不是你随便写个啥都能用的,这是系统内置的一些颜色,我要没记错是六个颜色啊, 在日制中就已经可以了,整的花里胡哨的干啥呀,对吧?好了,到这呢,咱们这一套东西就做好了,其实这里边的东西还有很多啊,日制系统一般一个公司只要是做好以后,这些东西都是定死的,一辈子都不会动的,所以说也轮不着你们自己去写, 什么时候会轮着你自己写呢?就是如果说你要是自己创业了,或者说是在公司里边,你是第一个报道的,那这个时候日制系统的这些建设维护工作,恐怕你作为 一个领头人,你就要需要自己去做了啊,像这种东西天下公司一大抄,你抄我我抄你,找一套复制粘贴过来就用了啊。 行了,关于这个东西咱们就说到这来,回到咱们资料里啊,刚才大家看的呢,其实就是下边我写的这个格式了,这个格式你可以自己随便写啊,没有固定的要求说非得写成什么样,自己看着舒服就行。 到账了,咱们这一节就给大家讲了日制的输出格式的一个设置规则,其实不难,关键是有些人可能没有接触过,但你看一下,你也知道这个日制该怎么调整有关日制的输出格式的控制,咱们就说到这。

在 swind boss 中记录操作日志需求,背景是就要将用户对系统的操作行为记录下来。直线, 为了将业务减五和以及能获取到请求参数信息,采用 aop 加自营业注解加 spl 表达式加多线程实现说明 aop 采用前置通知,业务减五,自营意注解 配合 aop 作为切点,用 spl 表达式 spring 内置的 el 表达式能够获取到参数的值。多线程 can play table future, 提高记录效率。先第一步,我们先新建一个增益注减,这个增益注减中有一个属性,也就是日志内容,这个 知识内容包含 spl 表达式。第二步,我们需要写一个 aop, 在这个 aop 中我们采用的是笔放前置通知,它的缺点就是我们的注解。然后在这个方法中有两个参数,第一个是装 point, 第二个就是字音页注解, 这两个需要对齐。然后第一步,我们需要先拿到参数,拿到参数之后我们还需要拿到参数的名称。接下来是 spl 解析,上下文把韩德勒麦色的的型餐都添加到摄像文中, 并且使用参数名声作为 k。 然后下一步是进行 spl 表达式的解析转换。最后一步是采用多线程 complate 包非优舍的软 acc 方法来进行一步纯属日志,这里指 打印了一行 log 来简单模拟一下。在实际操作中,这里需要一步记录到数据库中,在这个切面类的最上方有两个属性,那这两个属性一个是需要被 spl 解析的模板前缀和后缀,这里可以自应易得, 那我们这里自愿意就是一个花括号的左边和右边,通过这个模板就可以识别出来 spl 表达式来进行内容的替换,那第二个是 spl 解析器, 那这里也是需要先构建出来,接下来打开 ctrl, 在这个 ctrl 中我们有一个方法,然后现在我们只需要添加字音一注解,在这个字音一注解中,这的内容我们就可以通过 spl 表达式来进行拼接,那前缀和 后者都是我们自营一的。在这里我们需要拿到用户的 id, 也就是优则点,优则 id 就是这个对象中的优则 id 属性以及用户的名称就是优则点。内幕以及我们想从 record 对象中获取一些信息,也是可以通过 spl 表达式的语法来写的, 那这里我们来请求一下。这里又传入两个参数,第一个参数是 uzid, 第二个参数是内幕,我们来请求一下。 在控制台中我们可以看到查询参数,用户 id, 优则内幕 以及 ant 都是可以获取到的,从这里我们就可以实现了记录操作日志,通过 z e 的形式与业务结构合,而且只要符合 spl 语法的都可以进行操作,今天就讲到这,谢谢大家。

看一个需求,在微服务中通过日志查看接口的入餐、出餐调用地址,调用方法 以及接口响应时间,那么这个需求的目的是什么?是通过以上参数更好的了解接口的运行情况以及错误排查, 那它的实现方式是什么?是 aop 切面编程,那么咱们来看一眼代码视力。首先在这里定义了个 srid logo 接口响应的开始时间,定义了一个切入点,这个切入点就是咱们的 ctrl 层 在读必放方法中打印请求地址, url, http, messer 的 ip 以及方法,还有咱们的参数。最后在 retin 里面打印它的返回参数以及它的执行时间, 通过 postman 调一下看看效果。来控制台看一下日志, 这里边已经打印了咱们的请求地址就是本地,它的 i h t t p max 就是盖的方法, ip 地址就是本地的 ip 地址, 所调用的方法就是咱们刚才用的这个 save 方法,因为这个方法里没有参数,所以说参数为空,还有返回值以及接口的选用时间。

哈喽,大家好,这节视频呢给大家带来的是我们集资级过载 vo 三的系统管理下面的基础功能的简单介绍。 首先打开我们的呃系统管理菜单,可以看到下面有这么多的管理模块,那么第一个就是用户管理,在用户管理这里可以添加我们当前系统的用户, 在登录的时候呢,就可以使用我们创建的这个用户账号和密码去进行登录, 那这个用户所拥有的权限是在角色管理进行设置的,比如说如果你想给一个用户设置成管理员的权限, 那你就可以在角角色管理这里点击用户,点击已有用户,把我们的这个用户给添加进来。张三设置成管理员,或者是把某个人给取消掉管理员的权限 都可以在这里实现。 在菜单管理,我们可以对我们的这个左侧的菜单进行编辑的操作, 我们可以找一个菜单,然后进对他进行编辑, 或者是也可以新增一个菜单,在新增的菜单呢 是没有权限的,你新增王菜单之后,需要到决策管理这里去授权才能看到这个菜单。 刚刚我们更改的是这个工作台,他是不是他不是实时刷新的,我们需要刷新一下页面,你看到这里工作台变成工作台。二,证明我们刚刚的修改是生教的, 再修改回来。下一个是部门管理, 在部门管理里面我们就可以对我们当前系统里面的部门进行新增或者是编辑的操作,右键可以直接添加下集,也可以点击上面 按钮增加下集。在部门权限这里可以给部门设置单独的权限, 我的部门是你当前登录用户,你这个部门下面的子部门去管理, 在用户管理这里我们当前登录的是管理员这个账户,可以看到我们这个部门是北京国际公司,北京国际软件,那 在我的部门下面就会显示这个北京国际软件部门下面的子部门,并且呢我们可以看到 这个子部门下面所有的用户, 在这个 研发部你看到他是有两个门。 在植物管理这里,我们可以添加我们当前项目的一些植物,你新增可以选择植物的之极, 你可以对植物进行一个边境操作 通知公告,这里是我们项目当中这个通知的一个发布地,在右上角可以看到这里有几个通知, 这些呢都是在我们这个通知公告里面进行发布的。这个测试消息可以看到在这里有个测试消息, 我们来查看一下这里啊,我们来点击看一下是不是这条消息可以没问题, 这是我们的通知公告页面。在分类字典里面呢,我们就可以对分类字典进行新增或者编辑的操作。 对分类制点的管理呢,可以应用到我们的一个组件上面,叫做分类制点选择器,分类制点选择器我们在 这个视力里面有, 在我们自定义组建势力里面是有那个使用说明的, 可以看到我们的分类字典,分类字典数这个图片,他的这个值就是在我们分类字典这里进行设置的, 有时候我们可以 对这里添加一个更改一下他的内容,你回到我们的组建势力这里 再打开可以看到这里的分类字典数下面的值也一样变化,这就是我们的分类字典的管理页面,这通讯录这个页面呢,它是一个查看页面, 他查看的是这个当前所有用户,根据可以根据部门筛选 你当前系统当中所有用户的一个联系方式, 我们可以找到这个市场部研发部下面的这个用户,可以看到他的人员 方式。 在数据字典这里我们可以对我们系统当中的数据字典进行编辑操作管理操作 数据字典呢在我们自定义组建势力这里也有介绍组建势力这里也有势力,可以看到这是性别的字典, 我们可以在数据字典这里找到筛选一下字典编码, 我们可以在这里新增一个名称,名称呢是就是你的显示值,你叫做保密,然后数据值是三或者是零也可以。 好,你确定你看到这里新增了一个保密的一个那个数据字典, 我们再回到这个吉利组建室内里面,可以看到他其实是没有实时刷新的,是因为我们字典是有缓存, 我们可以在右上角刷新缓存,并且呢刷新一下页面 可以看到这个保密已经成功的添加进来了。 再往下是我们的对象存储这一个菜单,对象存储菜单呢就是可以通过这个 oss 或者是迷牛来上传文件,上传的文件呢就可以在这里管理 这租户管理可以设置我们的半年系统的租户, 在用户观点这里可以设置一下当前用户的租户, 可以看到这里是可以设置租户的,这里租户呢就是在这里设 设置的,在冻结的租户呢,他是没有办法登录的,也是没有办法设置给人的,设置给别的用户,如果一个用户的所有租户都被冻结之后,那这个用户就登录不了了 啊,这就是我们最刺激步骤的系统管理的简单的介绍,我们下个视频,再见。