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、配置完成,重启项目即可

转载于:https://www.cnblogs.com/lazycxy/p/9442813.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是使用Log4j打印日志的步骤: 1. 在pom.xml文件中添加log4j的依赖,如下: ```xml <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> ``` 2. 在src/main/resources目录下创建log4j.properties文件,配置log4j的相关参数,如下: ```properties # Global logging configuration log4j.rootLogger=INFO, stdout # Console output... log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] %-5p %c %x - %m%n # Log file log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.File=/var/log/myapp.log log4j.appender.file.MaxFileSize=10MB log4j.appender.file.MaxBackupIndex=10 log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] %-5p %c %x - %m%n ``` 上述配置中,rootLogger设置为INFO级别,输出到stdout和log文件中;stdout输出到console,log文件输出到/var/log/myapp.log文件中。 3. 在需要打印日志的类中,使用log4j进行日志打印,如下: ```java import org.apache.log4j.Logger; public class MyService { private static final Logger logger = Logger.getLogger(MyService.class); public void doSomething() { logger.info("something happened"); logger.error("something went wrong"); } } ``` 在上述代码中,使用Logger.getLogger()方法获取Logger对象,然后使用info()和error()方法打印日志。 这就是使用Log4j打印日志的基本步骤,希望能对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值