Tomcat控制台中看到的日志是服务器的日志,而服务器访问日志则是记录服务处理的请求信息。

开发环境:IntelliJ IDEA 2019.2.2
Spring Boot版本:2.1.8

1、新建一个名称为demo的Spring Boot项目。

2、application.yml 添加配置

server:
tomcat:
basedir: logs
accesslog:
pattern: '%t %m %s %v %U'
enabled: true
directory: access-logs
buffered: false

上面表示将日志存放于项目的logs\access-logs目录下;
buffered: false表示不缓冲,直接将日志记录到文件中;
pattern的标识符一些常用取值如下:

%a - 远端IP地址
%A - 本地IP地址
%b - 发送的字节数,不包括HTTP头,如果为0,使用"-"
%B - 发送的字节数,不包括HTTP头
%h - 远端主机名(如果resolveHost=false,远端的IP地址)
%H - 请求协议
%l - 从identd返回的远端逻辑用户名(总是返回 '-')
%m - 请求的方法(GET,POST,等)
%p - 收到请求的本地端口号
%q - 查询字符串(如果存在,以 '?'开始)
%r - 请求的第一行,包含了请求的方法和URI
%s - 响应的状态码
%S - 用户的session ID
%t - 日志和时间,使用通常的Log格式
%u - 认证以后的远端用户(如果存在的话,否则为'-')
%U - 请求的URI路径
%v - 本地服务器的名称
%D - 处理请求的时间,以毫秒为单位
%T - 处理请求的时间,以秒为单位

3、修改启动类代码 DemoApplication.java

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; @SpringBootApplication
@RestController
public class DemoApplication { public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
} @RequestMapping("/{name}")
public String test(@PathVariable String name){
return name;
}
}

Run项目后,自动在项目目录中生成logs\access-logs\access_log.2019-09-25.log
先后访问

http://localhost:8080/111
http://localhost:8080/aaa

打开access_log.2019-09-25.log,可看到生成了2条记录:

[25/Sep/2019:22:01:58 +0800] GET 200 localhost /111
[25/Sep/2019:22:02:01 +0800] GET 200 localhost /aaa

备注:
本人版本是apache-tomcat-9.0.0.M11,默认是开启访问日志,打开tomcat/conf/server.xml文件,下面是开启访问日志。

记录的文件放在/tomcat/logs目录下,文件命名为localhost_access_log.2019-09-25.txt这种形式,一天一个文件。

Spring Boot 2 配置服务器访问日志的更多相关文章

  1. Spring Boot 默认配置无法访问静态资源

    问题:将资源放在resources/static目录下,Spring boot不能加载 解决:在启动文件中,添加如下红字部分. @SpringBootApplication @Configuratio ...

  2. Spring Boot - Logback配置日志要考虑哪些因素

    Spring Boot - Logback配置日志 出于性能等原因,Logback 目前是springboot应用日志的标配: 当然有时候在生产环境中也会考虑和三方中间件采用统一处理方式.@pdai ...

  3. spring boot 开静态资源访问,配置视图解析器

    配置视图解析器spring.mvc.view.prefix=/pages/spring.mvc.view.suffiix= spring boot 开静态资源访问application.proerti ...

  4. Spring Boot 2 中的默认日志管理与 Logback 配置详解

    Spring Boot在所有内部日志中使用Commons Logging,但是对底层日志的实现是开放的.在Spring Boot生态中,为Java Util Logging .Log4J2 和Logb ...

  5. Spring Boot Security配置教程

    1.简介 在本文中,我们将了解Spring Boot对spring Security的支持. 简而言之,我们将专注于默认Security配置以及如何在需要时禁用或自定义它. 2.默认Security设 ...

  6. Spring Boot (16) logback和access日志

    Spring Boot 内部采用的是Commons Logging进行日志记录,但是在底层为Java Util Logging.Log4J2.Logback等日志框架提供了默认配置. logback ...

  7. Spring Boot 自动配置的原理、核心注解以及利用自动配置实现了自定义 Starter 组件

    本章内容 自定义属性快速入门 外化配置 自动配置 自定义创建 Starter 组件 摘录:读书是读完这些文字还要好好用心去想想,写书也一样,做任何事也一样 图 2 第二章目录结构图 第 2 章 Spr ...

  8. 玩转spring boot——properties配置

    前言 在以往的java开发中,程序员最怕大量的配置,是因为配置一多就不好统一管理,经常出现找不到配置的情况.而项目中,从开发测试环境到生产环境,往往需要切换不同的配置,如测试数据库连接换成生产数据库连 ...

  9. Spring Boot 属性配置&自定义属性配置

    在使用spring boot过程中,可以发现项目中只需要极少的配置就能完成相应的功能,这归功于spring boot中的模块化配置,在pom.xml中依赖的每个Starter都有默认配置,而这些默认配 ...

随机推荐

  1. Docke部署nginx并配置nginx

    一.在docker中下载nginx镜像 docker pull nginx 二.在宿主机中创建挂在目录 mkdir -p /data/nginx/{conf,conf.d,html,log} 三.在挂 ...

  2. openwrt_在PPPOE上网的同时_访问光猫

    openwrt_在PPPOE上网的同时_访问光猫 转载注明来源: 本文链接 来自osnosn的博客,写于 2019-11-14. 参考文章: 光猫桥接模式下,通过路由器访问光猫.简单设置 设置Open ...

  3. 推荐一种非常好的新版DSP库源码移植方式,含V7,V6和V5的IAR以及MDK5的AC5和AC6版本

    说明: 1.新版CMSIS V5.6里面的DSP库比以前的版本人性化了好多. 2.本帖为大家分享一种源码的添加方式,之前一直是用的库方便,不方便查看源码部分. 3.DSP教程可以还看第1版的,在我们的 ...

  4. 设置tomcat为自动启动

    第一步:设置tomcat为服务启动项 进入dos窗口,输入service.bat install,启动服务, 这里要注意的是,如果直接在cmd输入报错,需要你进入到tomcat的目录下执行cmd 第二 ...

  5. pandas 初识(五)

    1. 如何实现把一个属性(列)拆分成多列,产生pivot,形成向量信息,计算相关性? 例: class_ timestamp count 0 10 2019-01-20 13:23:00 1 1 10 ...

  6. Logo(图片)作为报表水印的解决方法

    概述 在<像 word 一样增加水印功能>中,已经介绍了如何在润乾报表中增加文字水印功能,包括了静态及动态水印.水印功能将标识信息嵌入到报表载体后,使得信息安全.版权保护有了更有效的方法. ...

  7. Android Fragment 多层叠加时点击穿透解决方案

    一.问题现象 多层fragment叠加时,点击上层fragment会使下层fragment的控件对应点击事件响应,这种现象就是点击穿透. 对于这种情况,我们一般都是对baseFragment进行vie ...

  8. C#后台架构师成长之路-进阶体系篇章大纲

    这些知识体系概念和应用如果不了解,怎么修炼你的内功..... 1.数据类型的理解,比如bool,byte,short,ushort,int,uint,long,ulong,float,double,s ...

  9. [Go]TCP服务中增加消息队列与工作池

    之前的处理中每一个连接都会创建一个主groutine , 每个连接中的主groutine中创建出读groutine 和写groutine 每个连接处理业务再单独开出一个groutine ,这样如果有1 ...

  10. 导入Jar报错An internal error occurred during: "Building workspace". zip END header not found

    百度了好久都没有找到答案,后来新建了一个文件夹,再build path就正常了,不知道为什么