spring boot初探(二)——springboot配置log4j

spring-boot-starter中默认依赖了spring-boot-starter-logging而他实现的日志组件是Lockback。
事实上官方文档已经讲的非常清楚了,并且提供了两种日志实现的配置Logback和Log4j。具体的官方地址请看:http://docs.spring.io/spring-boot/docs/current/reference/html/howto-logging.html

我们这里主要讲一下如何配置log4j
1、根据官方的方法要想使用log4j,首先得讲默认的log依赖给去除,然后再引入log4j的jar包,pom文件如下:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- exclude默认logging依赖 -->
<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>
<!-- 添加log4j2的依赖 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>

注意:如果你想以yml或者json的方式编写配置文件的话(例如:log4j2.yml或者log4j2.json)官方给出了相应的依赖关系

FormatDependenciesFile names
YAMLcom.fasterxml.jackson.core:jackson-databind
com.fasterxml.jackson.dataformat:jackson-dataformat-yaml
log4j2.yaml
log4j2.yml
JSONcom.fasterxml.jackson.core:jackson-databindlog4j2.json
log4j2.jsn

所以如果我们想和application.yml配置 文件保持一致的格式的话还需要添加两个依赖:

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>  
    <artifactId>jackson-databind</artifactId>  
</dependency>  
<dependency>
    <groupId>com.fasterxml.jackson.dataformat</groupId>  
    <artifactId>jackson-dataformat-yaml</artifactId>  
</dependency>  

添加如上所示的依赖后我们就可以用log4j2.yml去配置了,接下来就直接贴配置详情了

Configuration:  
  status: warn  

  Properties: # 定义变量  
    Property:         
      - name: log.path  
        value: d:\\tmp\\logs  
      - name: project.name  
        value: spring-boot-log  

  Appenders:  
    Console:  #输出到控制台  
      name: CONSOLE  
      target: SYSTEM_OUT  
      ThresholdFilter:  
        level: trace
        onMatch: ACCEPT  
        onMismatch: DENY  
      PatternLayout:  
        pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%F:%L) - %m%n"  

    # 输出到文件,超过128MB归档
    RollingFile:   
      - name: ROLLING_FILE  
        ignoreExceptions: false  
        fileName: ${log.path}/${project.name}.log  
        filePattern: "${log.path}/$${date:yyyy-MM}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz"  
        PatternLayout:  
          pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%F:%L) - %m%n"  
        Policies:  
          SizeBasedTriggeringPolicy:  
            size: "128 MB"  
        DefaultRolloverStrategy:  
          max: 1000  

  Loggers:  
    Root:  
      level: info  
      AppenderRef:  
        - ref: CONSOLE  
        - ref: ROLLING_FILE  
    Logger: # 为com.xjj包配置特殊的Log级别,方便调试  
      - name: com.test.dao  
        additivity: false  
        level: debug  
        AppenderRef:  
          - ref: CONSOLE  
          - ref: ROLLING_FILE

到这基本上你的log4j2就配置好了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值