• SpringBoot-整合log4j日志记录


    新建log4j配置文件

    文件名称log4j.properties

    #log4j.rootLogger=CONSOLE,info,error,DEBUG

    log4j.rootLogger=info,error,CONSOLE,DEBUG

    log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender    

    log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout    

    log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm}[%t][%c][%p]-%m%n    

    log4j.logger.info=info

    log4j.appender.info=org.apache.log4j.DailyRollingFileAppender

    log4j.appender.info.layout=org.apache.log4j.PatternLayout    

    log4j.appender.info.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm}[%t][%c][%p]-%m%n 

    log4j.appender.info.datePattern='.'yyyy-MM-dd

    log4j.appender.info.Threshold = info  

    log4j.appender.info.append=true  

    #log4j.appender.info.File=/home/admin/pms-api-services/logs/info/api_services_info

    log4j.appender.info.File=/Users/dddd/Documents/testspace/pms-api-services/logs/info/api_services_info

    log4j.logger.error=error 

    log4j.appender.error=org.apache.log4j.DailyRollingFileAppender

    log4j.appender.error.layout=org.apache.log4j.PatternLayout    

    log4j.appender.error.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm}[%t][%c][%p]-%m%n 

    log4j.appender.error.datePattern='.'yyyy-MM-dd

    log4j.appender.error.Threshold = error  

    log4j.appender.error.append=true  

    #log4j.appender.error.File=/home/admin/pms-api-services/logs/error/api_services_error

    log4j.appender.error.File=/Users/dddd/Documents/testspace/pms-api-services/logs/error/api_services_error

    log4j.logger.DEBUG=DEBUG

    log4j.appender.DEBUG=org.apache.log4j.DailyRollingFileAppender

    log4j.appender.DEBUG.layout=org.apache.log4j.PatternLayout    

    log4j.appender.DEBUG.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm}[%t][%c][%p]-%m%n 

    log4j.appender.DEBUG.datePattern='.'yyyy-MM-dd

    log4j.appender.DEBUG.Threshold = DEBUG  

    log4j.appender.DEBUG.append=true  

    #log4j.appender.DEBUG.File=/home/admin/pms-api-services/logs/debug/api_services_debug

    log4j.appender.DEBUG.File=/Users/dddd/Documents/testspace/pms-api-services/logs/debug/api_services_debug

     

    log4j代码

    private static final Logger logger = LoggerFactory.getLogger(IndexController.class);

    Maven依赖

    <parent>

                <groupId>org.springframework.boot</groupId>

                <artifactId>spring-boot-starter-parent</artifactId>

                <version>2.0.0.RELEASE</version>

          </parent>

          <dependencies>

                <!-- SpringBoot 核心组件 -->

                <dependency>

                      <groupId>org.springframework.boot</groupId>

                      <artifactId>spring-boot-starter-web</artifactId>

                </dependency>

                <dependency>

                      <groupId>org.springframework.boot</groupId>

                      <artifactId>spring-boot-starter-tomcat</artifactId>

                </dependency>

                <dependency>

                      <groupId>org.apache.tomcat.embed</groupId>

                      <artifactId>tomcat-embed-jasper</artifactId>

                </dependency>

                <!-- spring boot start -->

                <dependency>

                      <groupId>org.springframework.boot</groupId>

                      <artifactId>spring-boot-starter</artifactId>

                      <exclusions>

                           <!-- 排除自带的logback依赖 -->

                           <exclusion>

                                 <groupId>org.springframework.boot</groupId>

                                 <artifactId>spring-boot-starter-logging</artifactId>

                           </exclusion>

                      </exclusions>

                </dependency>

     

                <!-- springboot-log4j -->

                <dependency>

                      <groupId>org.springframework.boot</groupId>

                      <artifactId>spring-boot-starter-log4j</artifactId>

                      <version>1.3.8.RELEASE</version>

                </dependency>

          </dependencies>

     

    使用AOP统一处理Web请求日志

    POM文件新增依赖

        <dependency>

                 <groupId>org.springframework.boot</groupId>

                 <artifactId>spring-boot-starter-aop</artifactId>

        </dependency>

     WebLogAspect:

    @Aspect

    @Component

    public class WebLogAspect {

     

          private static final Logger logger = LoggerFactory.getLogger(WebLogAspect.class);

     

          @Pointcut("execution(public * com.itmayiedu.controller.*.*(..))")

          public void webLog() {

          }

     

          @Before("webLog()")

          public void doBefore(JoinPoint joinPoint) throws Throwable {

                // 接收到请求,记录请求内容

                ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();

                HttpServletRequest request = attributes.getRequest();

                // 记录下请求内容

                logger.info("URL : " + request.getRequestURL().toString());

                logger.info("HTTP_METHOD : " + request.getMethod());

                logger.info("IP : " + request.getRemoteAddr());

                Enumeration<String> enu = request.getParameterNames();

                while (enu.hasMoreElements()) {

                      String name = (String) enu.nextElement();

                      logger.info("name:{},value:{}", name, request.getParameter(name));

                }

          }

     

          @AfterReturning(returning = "ret", pointcut = "webLog()")

          public void doAfterReturning(Object ret) throws Throwable {

                // 处理完请求,返回内容

                logger.info("RESPONSE : " + ret);

          }

    }

  • 相关阅读:
    工商银行:应用多k8s集群管理及容灾实践
    鸿蒙轻内核源码分析:掌握信号量使用差异
    云图说|ASM灰度发布,让服务发布变得更敏捷、更安全
    解读多云跨云下的容器治理与实践
    互斥锁Mutex:鸿蒙轻内核中处理临界资源独占的“法官”
    带你深入理解Java的IO到底是个啥
    毕业季offer怎么拿?收下这份非典型求职面试指南
    CKEditor 5 摸爬滚打(一)—— 从零构建定制化工程项目
    说起来你可能不信,一个正则就能让页面卡死
    sklearn中的pipeline的创建与访问
  • 原文地址:https://www.cnblogs.com/XJJD/p/10392802.html
Copyright © 2020-2023  润新知