springboot配置log4j

log4j.properties

log4j.rootLogger=INFO,Console,File
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out
log4j.appender.Console.layout = org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c - %L]%m%n

log4j.appender.File = org.apache.log4j.RollingFileAppender
log4j.appender.File.File = F:/logs/info.log
log4j.appender.File.MaxFileSize = 10MB

log4j.appender.File.Threshold = ALL
log4j.appender.File.layout = org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c - %L]%m%n

pom.xml配置

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter</artifactId>
      <exclusions>
        <!--去除springboot自带的logging-->
        <exclusion>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-logging</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

    <!--添加log4j-->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-log4j</artifactId>
      <version>1.3.8.RELEASE</version>
    </dependency>

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

pom.xml配置

    <!-- AOP -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-aop</artifactId>
    </dependency>

写个切面类

package com.royal.web.aop;

import java.util.Enumeration;

import javax.servlet.http.HttpServletRequest;

import org.apache.log4j.Logger;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
@Aspect
@Component
public class WebLogAspect {
    private Logger logger = Logger.getLogger(getClass());

    @Pointcut("execution(public * com.royal.web.controller..*.*(..))")
    public void webLog() {

    }

    @Before("webLog()")
    public void doBefore(JoinPoint joinPoint) throws Throwable {
        // 接收到请求,记录请求内容
        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
        HttpServletRequest request = attributes.getRequest();
        // 记录下请求内容
        logger.info("---------------request----------------");
        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:" + name + "value" + request.getParameter(name));
        }
    }
    @AfterReturning(returning = "ret", pointcut = "webLog()")
    public void doAfterReturning(Object ret) throws Throwable {
        logger.info("---------------response----------------");
        // 处理完请求,返回内容
        logger.info("RESPONSE : " + ret);
    }
}

原文地址:https://www.cnblogs.com/royal6/p/12178078.html

时间: 2024-10-14 21:02:16

springboot配置log4j的相关文章

springboot配置Log4j日志

目录 Pom.xml添加依赖 在控制器记录日志 使用AOP统一处理Web请求日志 导入AOP依赖 写一个切面类 @(springboot配置Log4j日志) 首先要导入log4j属性文件 Log4j.properties 在resources文件夹下导入log4j.properties文件,复制下面的内容时,每行后面如果有空格的话一定要去掉,log4j.appender.File.File为log日志存放的路径. log4j.rootLogger=INFO,Console,File log4j.

springboot配置Log4j(将输出日志打印在控制台)

在springboot整合mybatis开发过程中,配置Log4j文件以便查看Mybatis操作数据库的过程 编辑器:IDEA 第一步:pom.xml中引入依赖(mybatis依赖和log4j2依赖) 如下: #在spring-boot-starter-web中自动配置了logging依赖,在使用Log4j时需要先排除其依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId&g

spring-boot配置log4j日志

spring boot默认使用logback日志记录工具,修改为log4j: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>1.0.2.RELEASE</version> <exclusions> <exclusion>

SpringBoot 配置 Servlet、Filter、Listener

https://blog.csdn.net/qq_38709999/article/details/99986797 SpringBoot 配置 Servlet.Filter.Listener 在SpringBoot应用中,嵌入式的 Servlet 3.0+ 容器不会直接使用 ServletContainerInitializer 和 WebApplicationInitializer,即通过以上两个接口实现的 Servlet.Filter.Listener 配置都是无效的,这是为了防止第三方代

springboot配置logback日志

springboot配置logback日志 java web 下有好几种日志框架,比如:logback,log4j,log4j2(slj4f 并不是一种日志框架,它相当于定义了规范,实现了这个规范的日志框架就能够用 slj4f 调用).本篇主要说明spring boot配置logback springboot配置日志框架之前,要先取消springboot默认的日志框架 一.在pom.xml中加入取消默认日志框架 <dependency> <groupId>org.jxls</

SpringBoot(八)----SpringBoot配置日志文件

今天介绍一下SpringBoot配置日志文件 SpringBoot在所有的内部日志中使用Commons Logging,但是默认配置也提供了对常用日志的支持,如Java Util Logging,Log4J,Log4J2和Logback.但是每种Logger都可以通过配置使用控制台或者文件输出日志内容. 一.SpringBoot默认日志Logback SLF4J,是一个针对各类Java日志框架的统一Façade抽象.Java有很多的日志框架,如java.util.logging,log4j,lo

配置Log4j(非常具体)

来自: http://www.blogjava.net/zJun/archive/2006/06/28/55511.html Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息.通过配置,能够创建出Log4J的执行环境. 1. 配置文件Log4J配置文件的基本格式例如以下: #配置根Loggerlog4j.rootLogger  =   [ level ]   ,  appenderNam

Java异常,配置log4j

注意: 1.Java中的所有异常都是由Throwable类的子类生成的对象,所有的异常类都是Throwable类的子类或子类的子类.Throwable类是Object类的直接子类,Error类和Exception类是Throwable类的两个直接子类. Error  错误类 java.lang.Error 错误类一般是指虚拟机相关的 Exception  异常类 2.java.lang.Exception类是Java中所有异常的直接或间接父类 java中异常处理是通过5个关键字实现的try,ca

ibatis配置log4j输出sql日志信息

为了在开发过程更加直观,我们需要将ibatis日志打开以便观察ibatis运作的细节. ibatis采用Apache common_logging,并结合Apache log4j作为日志输出组件. 在CLASSPATH中新建log4j.properties配置文件,内容如下: log4j.rootLogger=DEBUG,stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layo