美文网首页
spring-cloud微服务项目实战(6)- 日志改造为log

spring-cloud微服务项目实战(6)- 日志改造为log

作者: 爱编程的凯哥 | 来源:发表于2019-02-11 06:27 被阅读19次

目标

因为项目中一直使用的是log4j2,认可log4j2的性能,所以今天看下如何把springboot的日志改造为log4j2。

开工集成

  1. log4j2日志配置,先去除原有的logback日志依赖,添加spring-boot-starter-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>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
  1. 在classpath下添加log4j2配置文件
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">

    <Appenders>
        <File name="FileAppender" fileName="./log/logFile.log" append="true">
            <PatternLayout pattern="%d %-5p %c:%L [%t] - %m%n" />
        </File>

        <Console name="STDOUT" target="SYSTEM_OUT">
             <PatternLayout pattern="%d %-5p %c:%L [%t] - %m%n" />
        </Console>

        <RollingFile name="RollingFileInfo" fileName="./log/bee-client.log"
                     filePattern="./log/bee-client-gz/$${date:yyyy-MM}/bee-client-%d{yyyy-MM-dd}-%i.log.gz">
            <Filters>
                <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
            </Filters>
            <PatternLayout pattern="%d %-5p %c:%L [%t] - %m%n"/>
            <Policies>
                <TimeBasedTriggeringPolicy/>
                <SizeBasedTriggeringPolicy size="200 M"/>
            </Policies>
        </RollingFile>

    </Appenders>


    <Loggers>
        <Logger name="com.opensymphony.xwork2.ognl.OgnlValueStack" level="ERROR" />
        <Logger name="open.template" level="DEBUG" />
        <Logger name="net.sf.ehcache" level="INFO" />
        <Logger name="com.alisoft.xplatform.asf" level="WARN" />
        <Logger name="com.mbi" level="ERROR" />
        <Logger name="net.mlw" level="INFO" />
        <Logger name="java.sql" level="INFO" />
        <Logger name="org.hibernate.type" level="ERROR" />
        <Logger name="com.opensymphony.webwork" level="ERROR" />
        <Logger name="org.apache" level="INFO" />
        <Logger name="org.jgroups" level="WARN" />
        <Logger name="org.jboss.axis" level="INFO" />
        <Logger name="org.jboss.management" level="INFO" />
        <Logger name="org.apache.commons.httpclient" level="ERROR" />
        <Logger name="com.alibaba.dubbo" level="WARN" />
        <Logger name="com.mchange.v2.resourcepool" level="ERROR" />
        <Logger name="org.mybatis.spring" level="ERROR" />
        <Logger name="org.apache.ibatis" level="ERROR" />



        <Root level="INFO"><!-- 缺省日志级别,如果package有定制级别,则按package的定制级别走,即使package级别更低 -->
            <AppenderRef ref="STDOUT" />
            <!--<AppenderRef ref="FileAppender" />-->
            <!--<AppenderRef ref="RollingFileInfo" />-->
        </Root>

    </Loggers>
</Configuration>

  1. 此时日志即可使用了,修改原有代码系统打印地方
@RestController
public class TaskInfoApi {

    private Logger LOGGER= LoggerFactory.getLogger(TaskInfoApi.class);

    @PostMapping("/task/get")
    public TaskReponseVo popTaskInfo(@RequestBody  TaskRequestVo vo){
        LOGGER.info("获取桶id={}的任务数据",vo.getBucketId());
        TaskReponseVo taskInfoDto = new TaskReponseVo();
        taskInfoDto.setStatus("1");
        taskInfoDto.setTaskId(UUID.randomUUID().toString());
        return taskInfoDto;
    }
}

  1. 再次测试调用


    image.png

完工!

相关文章

网友评论

      本文标题:spring-cloud微服务项目实战(6)- 日志改造为log

      本文链接:https://www.haomeiwen.com/subject/lrspsqtx.html