欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java项目中的日志(logger)

程序员文章站 2024-02-28 18:58:58
...

1.如何在项目中打日志:

  1.在类中写一个常量:
  private static final Logger LOGGER =LoggerFactory.getLogger(HelloConntroller.class);
  注意
  LoggerFactory.getLogger(HelloConntroller.class);是为了定位日志
  2.在方法里打日志
  LOGGER.info("日志信息");

   2.2如何将日志信息存储到文件中
   两种方式不能同时存在---使用其中的一种即可
     1.logging.file.path:
        指定日志文件的路径,不指定名称,默认的名称是spring.log
        logging:
          file:
            path: C:\demo\hello3  #日志文件路径
     2.logging.file.name:
        可以指定指定日志文件的路径和日志文件的称
        logging:
          file:
            name: C:\demo\hello3\hello.log  #日志文件名带路径
    在此盘的路径中就会存储日志文件信息

    2.3如何设置日志级别
        日志的级别
       TRACE<DEBUG<INFO<WARN<ERROR<FATAL 优先级别

    SpringBoot默认级别
    默认日志级别是INFO,比INFO级别小的日志不显示,比INFO级别大的显示

    如何设置日志格式
    logging.level
    两种级别
        1.root级别
        logging:
          level:
            root: warn #root:代表的是项目所有日志
        如果我们将root日志级别设为warn,则项目的所有INFO日志不再显示,只能显示warn及以上级别的日志
        2.package级别
        代表指定包下的日志对应的日志级别,不是这个包下才用的是默认的INFO日志级别

        两种级别可以同时设置

        2.4如何设置自己的日志格式
        日志格式有哪些??
        #%d{yyyy/MM/dd-HH:mm:ss:SSS}日志输出时间
        #[%thread]:输出日志的线程名字
        #%-5level :日志级别 并且使用5个字符靠左对齐
        #%logger-:日志输出者的名字
        #%msg :日志消息  %n换行

     [email protected]注解
            3.1作用:
              加载属性文件.properties
            3.2如何使用注解:在类上写注解  //classpath:配置文件的位置
                                     //person.properties:配置文件的名称
              @PropertySource("classpath:person.properties")

              注意:此三注解须同时用,单独没效果
              @Component
              @ConfigurationProperties(prefix = "person") //上配置文件找前缀是person的
              @PropertySource("classpath:person.properties")

     [email protected]
           作用
            导入spring的配置文件,让配置文件的内容生效,,比如applicationContext.xml是配置文件
           使用步骤
               1.写一个业务类HelloService,写一个方法
               2.在src/main/resource下创建beans.xml,在里面配置bean节点
               3.在主类上写注解@ImportReSource(locations="classpath:beans.xml"),导入spring的配置文件,让配置文件的内容生效
               4.在测试类先注入ApplicationContext,然后调用applicationContext的getBean(“bean名称”)从spring容器得到bean,调用bean的方法

   5.配置类
              5.1什么是配置类
              如果一个类在类上标注有@Configuration注解,我们称该类是一个配置类
              5.2配置类的特点
                1.配置类本身被spring容器管理
                2.配置类相当于spring中的配置文件
              5.3配置类的使用
               1.写一个类,在类上写注解@Configuration
               2.在类里面写方法,在方法写@Bean注解,
                   1.方法名称是bean名称,相当于bean的id
                   2.方法的返回值类型,相当于bean节点的class
                   3.方法的返回对象纳入spring容器管理

   6.配置文件占位符
          6.1什么是占位符
            在属性值中使用${}代表活的数据
            ${}代表占位符
          6.2常用的占位符 ----请前往person.properties验收哟
            ${random.uuid} :uuid
            ${random.int} :生成随机整数
            ${random.int(10)}: 代表10以内的随机整数
            ${random.int[30,60]}:30-60之间的随机整数
            ${helloWord:hello} :如果helloWord不存在则,就显示默认值hello
            ${person.lastName}: 取得之前配置好的属性值

   7.profile
       7.1定义:
          是spring对不同环境提供不同的配置支持,可以通过**指定参数的方式快速的**环境
       7.2多profile文件
       默认配置文件(也称为主配置文件):application.properties/yml
       多profile:application-{profile}.properties/yml
       比如:
            1.开发环境的配置文件:application-dev.properties
            2.生产环境配置文件:application-prod.properties
       7.3如何**配置文件
          在主配置文件application.properties指定spring.profiles.active=dev

       7.4yml多文档块
        使用---作为每个文档的分块  并且**
     7.5profile**方式
         1.主配置文件中**
         spring.profiles.active=prod
         2.多文档块**
         3.执行程序时使用program Arguments设置:(命令行**)
             --spring.profiles.active=dev进行**
      7.6命令行窗口**
          在运行时传入命令行的参数
           步骤:
           1.双击package  打jar包
           2.找到jar 所在的文件夹,在该文件夹下打开命令行窗口: