00:00
好,同学们,我们前面呢分析了一下boot底层来做日志功能的,咱们这些依赖原理,比如说spring boot也是把其他日志框架转为self间,然后用log bank的方式进行实现,那怎么用呢?我们来给大家测试一下,好,我们打开我们之前创建的这个工程,现在不做任何配置的情况下,哎,这刚创建出来,我呢就直接来运行这段代码,我们可以看到其实控制台啊这块已经有日志输出了,所以我们说这boot默认已经帮我们配置好日志了,默认帮我们配置好了咱们这个日志,然后呢,我们来直接使用就行了,那怎么用呢?如果还没写过的同学来跟着来写一下,然后呢,我们来在这个测试类里边啊,我就用测试类,以后呢,如果我们想要记录一些东西,可再别用这个C了,是吧,这个C太简陋了,怎么办呢?我们来用日志,日志我们首先是面向cell for街编程的,所以我们需要这个有一个叫log function,有一个log function,它是cell for街旗下的,然后呢,我们用一个方法叫。
01:18
Get log,哎,获取一个logo logo呢我们就叫记录器,这个呢是记录器工厂,它里边呢要传一个class,那我就直接get class,把本类的这个class传过去,Al英特,哎,我们给提示让它自动补全好,它呢会给我们返回一个log,这个log呢,我们称为日志记录的这个咱们这个记录。记录器,然后呢,我们就拿这个记录器,我们来记录日志,怎么记录呢?常用的有这么几个方法,我来给大家试一下啊,一个叫log.t哎,T呢,我们说这是哎T叫跟踪轨迹的意思,如也就是说如果你框架在运行过程中,你想要跟踪一些信息,哎,别用system out了,你可以用它log,我们说这是嗯日志,然后呢,我们还有一个叫log.debug诶debug呢,这是调试,比如呢,有一些调试信息,我们框架运行到一些关键步骤,我们要输出一些调试信息,那么呢,我们可以写个这是得八个信息。
02:29
这是debug日志,然后呢,我们还有一些,哎,这个还有一个常用的叫log,点什么呢?英O,哎,Info info是什么呢?这就是我们哎自己定义的一些信息,比如我们想要输出这是info日志。然后呢,我们来把剩下几个常用的,还有一个logo点。Log点是什么?是不是叫警告啊,这是。Warning信息warning日值,好,这相当于是警告,然后有的时候呢,比如我们这个返回值,哎,你在方法运行完以后,返回值不是你预期的,你可以日志记录一下,诶警告一下,然后呢,还有一个叫log.error诶这是什么,是不是错误啊,这是error日志。
03:19
比如说比如你哪些方法,你穿看尺运行期间,你要捕获异常,而它也出这个异常了,你可以用log error来把这个异常呢给大家,再咱们这个日志记录一下,这是我们常用的这几个东西,而我们这些东西我们叫日志的级别。日志级别,日志的级别,这日志的级别由低由低到高。由低到高到高,那么就是我们这几个T和debug,接下来呢,是。
04:03
接下来呢,是warning。接下来呢,是A。不是要这个日志级别有什么用啊,哎,这个日志框架的一大好处就是我啊,咱们可以可以调整调整啊需要输出的日志级别,比如我们这个项目上线了,像这一些debug信息,Info信息,我可能不想要,我只我只想要这个项目出现运行期间的一些警告跟错误,我只想让他给我们打印警告跟错误,如果是我们以前是不是应该把这些注掉,现在不用了,我们可以调整日志级别,把级别往高调一点,然后呢,它就只打印这个级别及以后的内容,然后呢,他咱们这个日志就只会在这个级别及。以后的高级别生效啊,比如呢,我们来举一个这个例子,我来记录了一些信息,我们来测试一下走。
05:11
测试一下。我们来看一看,我们输出了这几个信息,我们来看一下啊,我们来看,诶我们发现呢,只输出了什么in warning跟error,哎相当于这个bug没输出,那说明啊,默认给我们调整的是什么呢。默认给我们使用的是英否级别的,所以说呢,只会输出英for级别及以后的内容,特别是你看啊,我们com at硅谷,哎,我们这个spring boot,哎,也就说我这个类我在输出的时候呢,我只输出这几个级别,那能不能调整啊,也可以调整,怎么调整呢?所有的日志调整,我们都在日志的这个配置文件里边,诶我们可以写一个叫login log,这个log呢,有一个level,啥level是不是叫级别啊,只不过这个level呢,它是一个map,这个map呢,它写的就是,哎你每一个包啊,或者呢,你每一个类日志输出用什么级别,比如呢,我们只条我们at硅谷,所以呢,我把com.at硅谷,我把我们at硅谷里边所有的类呢,我都调成trans级别,哎,我调成这个级别,我调成这个级别,那就trans以后都能输出。
06:32
是不是这样呢?我们来测试一下,走。其他的没调,那还用人家给默认规定的info,诶,我们来看。现在这诶我们这些就输出全了,所以呢,没有指定级别的,没有指定级别的就用spring boot默认级别。不默认。默认规定的级别,其实如果是好多同学知道这个日志框架,那其实你们就应该知道这是不是叫root级别的啊,Root级别然后呢,我们只要root,它要用BOO把root规定成了,然后呢,我们设置了的用我们的,没设置的用root的好,然后呢,这是我们这几个级别,那么这段代码呢,用来复制过来,这个我们后来还是比较常用的,那以后开发呢,我就用它来做日志记录好,那么还能调哪些呢?我们通通都可以在application里边看到,比如我们这还有一个叫log pass和log,我们接下来说说这俩,这俩呢我们看一下PPT,这俩呢有点区别,那么这个log跟log pass,如果我们都不指定的情况下,我们呢日志只会在控制台输出,如果说我们用Logan fair指定了一个日志的文件名。
07:58
那就呢,把日志输出到我们指定的文件,我先不写这个log pass,我们来给大家看一下,我来指定一个文件名,我们就叫它啊boot。
08:10
boot.log文件名随便指定好,我来运行一下走。我们来看这个日志。日志呢,在这有记录好没问题,包括呢,我们来看当前项目下就会有一个spring boot log,诶这个日志呢,就在这,所以它的作用呢,就是哎,当前项目下,当前项目下生成生成生成咱们这个lo这个日志。那么我不想在单位项目下,能不能在哪个盘指定呢?比如我们在D盘,我让他在来生成这个行不行呢?来试一下走。好,现在这个启动起来,我们在这盘来看一下这盘spring log,诶这儿也有,所以说呢,我们就可以来也指定上路径,哎。
09:06
不指定路径,不指定路径。物体在当前项目下生成来。我们可以指定完整的。完整的路径,然后呢,那么就在我们指定的路径下来生成我们这个文件,这是log fair,还有一个呢,叫log pass,这pass一听就是路径,那fair都能指定路径,还有什么用呢?我们来看一下啊,那log pass跟log fair其实是两个冲突设置,等如说呢,你指定了log file,那不指定log fair就起作用了,如果你是log都指定,其实还是log起作用,而我们一般呢,是来指定log pass,这个pass呢,是我们来指定目录,我来指定一个你要生成的日志的目录,而日志文件呢,用spring boot默认规定的。
10:02
比如呢,我指定一个目录叫杠,我们就叫。Log。这是什么意思啊,有就说呢,这个杠就是呢,在这个杠在Linux下,这是绝对路径是吧,它就是呢,在咱们这个当前磁盘的跟路径根路径下创建per文件夹和咱们这个log。和里边的log文件夹,然后呢,这个文件夹文件夹它里边呢,使用,哎日志文件叫什么日志文件叫spring默认的这个spring log就说呢,使用springlo作为默认文件,哎,这都是spring规定的。默认文件好,所以呢,我来试一下,我把它启动一下。
11:04
把它启动呢,我首先把这个boot log删掉,好,我重新启动,我看它是不是还在咱们这个控制台上生成这个呢。来我们来看,首先项目这边就没有什么这个,因为我们都住掉,而只会在这一块log pass,那就是我们来找到我们的项目,我们的项目在这儿。项目路径C盘,C盘呢,我们来找spring有没有,诶有这个目录,Spring下达log下达,诶spring log,然后呢,这个日志他帮我们来记录下来,哎,我们记了两遍啊,这都有一些东西,所以呢,我们在这儿可以来指定路径,当然也可以来指定更多的东西,比如有一个叫log根啊log.pattern pattern cons,这个cons呢,就是我们在控制台,在控制台输出的日志的格式。
12:02
那么还有一个,你还能指定log点,我们来写一个log.pattern fill,比如呢,这个就是来指定指定文件中日志输出的格式,你看啊,我们默认这个格式是什么样呢?默认这个格式来打开这一块呢,我们把它叫时间和日志级别,还有咱们这个线程ID,还有咱们这个哎中间三个杠分割,还有我们这个,哎主线程,哎主线程还是什么线程,然后咱们这一块的哎这个哎我们这个全类名,接下来呢,加上消息,哎消息呢,完了以后呢,每一个日志之间都有换行,这是默认的,包括我们刚才看的时候,哎我们写它的时候,我们会看到这块呢,人家提示,哎默认都是用这个的,但我们呢,可以来用自己的,我们来自己规定一个,我呢就不在这儿手写了,我把之前的一个配置文件。
13:03
我把这个格式呢,我拿来。它代表什么意思,我们也一会儿给大家把这个呢,我来放在这儿,哎控制台呢,百分D就是日期,我要Y按YYYMMDD,你看啊,现在还是带上十分秒的,哎,我现在不要十分秒了。然后呢,加上线程号,哎,直接加上咱们这个线程,加上呢,我们这个级别杠5LEVEL杠五呢就是靠左对齐,然后呢log就是我们这一块全里面50个字符,然后呢带上消息百分N换行,哎这是呢,我在我在咱们这个控制台输出的,然后如果我在文件里边呢,我多给它中间都加点等等号。哎,每一个每一个之间加上等等号,只要百分号thread就是我们这个线程,线程呢,还用中括号括起来,然后但是呢,我也不用中括号括了,我就拿一点等等号,我也不要这个点了,来我整一点等等号,我来看一下是不是按照我们指定的格式走了呢?走。
14:08
你看首先控制台,哎,我们这个输出的时候就没有咱们这个十分秒了,然后呢,我们来看我们的这个。文件的这个文件文件。C盘spring spring spring,我们这个spring在哪啊,诶spring log spring log,哎时态B给后面追加了一些,我用这个有格式的东西打开notepad加加好往往下看,诶我们现在呢,就是按照我们规定的格式来了,所以呢,这就是我们也能规定格式,哎规定格式,那么这个格式代表是什么意思,正好呢,我就把这个。你就把这个内容复制给大家。我们桌面给大家这个课件里边啊,也有相关的一个配置示例啊,这个呢,我们就不详解了,这是啊,大家就来参照日志框架,每一个自己的详细信息就行了啊。
15:04
我们把这个日志事例放在这日志的输出格式啊,格式呢,我来举一个例子。例子就是这个例子。好,所以呢,这就是我们这个spring,我们要用日志,我们就可以来规定这些,哎,它的一些默认设置都在application。Proper,我把这个复制完,我们是不是不。Spring boot修改日志的默认配置,好,这有一个示例proper好当家呢,就来参照这个来用就行了。
我来说两句