zoukankan      html  css  js  c++  java
  • springBoot项目配置日志打印管理(log4j2)

    1、修改pom文件引用log4j2相关jar包

      依赖代码:

    <!-- log4j2  start -->
    <!-- Spring Boot log4j2依赖 -->
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
    <!-- 去除对默认日志的依赖 -->
    <exclusions>
    <exclusion>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-logging</artifactId>
    </exclusion>
    </exclusions>
    </dependency>
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j2</artifactId>
    </dependency>
    <!-- log4j2 end -->

    2、修改application.yml文件,添加日志配置文件设置

    3、在对应位置添加log4j2.xml文件,文件内容如下

        <!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL -->

        <!--Configuration后面的status,这个用于设置log4j2自身内部的信息输出,可以不设置,当设置成trace时,你会看到log4j2内部各种详细输出-->

        <!--monitorInterval:Log4j能够自动检测修改配置 文件和重新配置本身,设置间隔秒数-->

      <?xml version="1.0" encoding="UTF-8"?>
      <Configuration monitorInterval="1" status="warn" strict="true" name="LogConfig">
       <Properties>
            <Property name="logbasedir">d:/test</Property> <!-- 放日志的位置 -->

            <Property name="log.layout">[%p]-[%-d{yyyy-MM-dd HH:mm:ss}]-[%C-%M(%L)]: %m%n</Property> <!-- 日志打印的格式 -->

        </Properties>

    <!--此处使用了两种类型的appender,RollingFile为滚动类型,满足策略条件后会新建文件夹记录 -->
    <Appenders>
    <!--这个输出控制台的配置-->
    <Appender type="Console" name="STDOUT">
    <Target>SYSTEM_OUT</Target>
    <!--输出日志的格式-->
    <Layout type="PatternLayout" pattern="${log.layout}"/>
    </Appender>

    <!-- 这个会打印出所有的info及以下级别的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档-->

    <Appender type="RollingFile" name="FILE" fileName="${logbasedir}/jutap-search.log"
    filePattern = "${logbasedir}/jutap-search-%d{yyyy-MM-dd}.log">
    <Policies>
    <TimeBasedTriggeringPolicy />
    <SizeBasedTriggeringPolicy size="100 MB"/>
    </Policies>
    <Layout type="PatternLayout">
    <Charset>GBK</Charset>
    <Pattern>${log.layout}</Pattern>
    </Layout>
    </Appender>

    <!-- 这个会打印出所有的error及以下级别的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档-->
    <Appender type="RollingFile" name="ExceptionLog" fileName="${logbasedir}/exception-search.log"
    filePattern = "${logbasedir}/exception-search-%d{yyyy-MM-dd}.log">
    <Policies>
    <TimeBasedTriggeringPolicy />
    <SizeBasedTriggeringPolicy size="100 MB"/>
    </Policies>
    <Layout type="PatternLayout">
    <Charset>GBK</Charset>
    <Pattern>${log.layout}</Pattern>
    </Layout>
    </Appender>
    </Appenders>

    <!--然后定义logger,只有定义了logger并引入的appender,appender才会生效-->
    <Loggers>
    <Logger name="exception" level="error" additivity="false">
    <AppenderRef ref="ExceptionLog"/>
    </Logger>

    <Root level="info">
    <!-- 所有的info信息输出到一下两个位置 -->
    <AppenderRef ref="STDOUT"/>
    <AppenderRef ref="FILE"/>
    </Root>
    <Logger name="com.garfield.learn" level="debug"/>
    <Logger name="com.garfield.learnp" level="info"/>
    </Loggers>

    </Configuration>

    4、配置完成,重启项目即可
  • 相关阅读:
    C++11 中的 Defaulted 和 Deleted 函数
    php运行出现Call to undefined function curl_init()的解决方法
    Windows 8 IIS中配置PHP运行环境的方法
    中国天气预报数据API收集
    IIS 6中mimemap属性的默认设置
    使用APPCAN开发移动应用APP心得
    个人建了一个APPCAN移动前端开发交流QQ群258213194
    APPCAN MAS接口之AJAX
    JavaScript与DOM
    如何让网页在浏览器标题栏显示自己制作的图标ico
  • 原文地址:https://www.cnblogs.com/lazycxy/p/9442813.html
Copyright © 2011-2022 走看看