Spring Boot 2 配置服务器访问日志
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 配置服务器访问日志的更多相关文章
- Spring Boot 默认配置无法访问静态资源
问题:将资源放在resources/static目录下,Spring boot不能加载 解决:在启动文件中,添加如下红字部分. @SpringBootApplication @Configuratio ...
- Spring Boot - Logback配置日志要考虑哪些因素
Spring Boot - Logback配置日志 出于性能等原因,Logback 目前是springboot应用日志的标配: 当然有时候在生产环境中也会考虑和三方中间件采用统一处理方式.@pdai ...
- spring boot 开静态资源访问,配置视图解析器
配置视图解析器spring.mvc.view.prefix=/pages/spring.mvc.view.suffiix= spring boot 开静态资源访问application.proerti ...
- Spring Boot 2 中的默认日志管理与 Logback 配置详解
Spring Boot在所有内部日志中使用Commons Logging,但是对底层日志的实现是开放的.在Spring Boot生态中,为Java Util Logging .Log4J2 和Logb ...
- Spring Boot Security配置教程
1.简介 在本文中,我们将了解Spring Boot对spring Security的支持. 简而言之,我们将专注于默认Security配置以及如何在需要时禁用或自定义它. 2.默认Security设 ...
- Spring Boot (16) logback和access日志
Spring Boot 内部采用的是Commons Logging进行日志记录,但是在底层为Java Util Logging.Log4J2.Logback等日志框架提供了默认配置. logback ...
- Spring Boot 自动配置的原理、核心注解以及利用自动配置实现了自定义 Starter 组件
本章内容 自定义属性快速入门 外化配置 自动配置 自定义创建 Starter 组件 摘录:读书是读完这些文字还要好好用心去想想,写书也一样,做任何事也一样 图 2 第二章目录结构图 第 2 章 Spr ...
- 玩转spring boot——properties配置
前言 在以往的java开发中,程序员最怕大量的配置,是因为配置一多就不好统一管理,经常出现找不到配置的情况.而项目中,从开发测试环境到生产环境,往往需要切换不同的配置,如测试数据库连接换成生产数据库连 ...
- Spring Boot 属性配置&自定义属性配置
在使用spring boot过程中,可以发现项目中只需要极少的配置就能完成相应的功能,这归功于spring boot中的模块化配置,在pom.xml中依赖的每个Starter都有默认配置,而这些默认配 ...
随机推荐
- 域控权限提升PTH攻击
0x01 漏洞利用条件 1.被pth攻击的计算机未打补丁(KB2871997)2.拿到一台域成员主机并且拿到管理员组的域用户的NTML 3.对方主机存在相同账号并且是管理员组成员 0x02 本地用户N ...
- QT删除整个文件夹
故事背景:因为客户端要清理旧版本以及日志文件,所以需要删除一个月以前的所有文件夹 技术调研:在程序中我想把文件夹直接删除,但是调用QDir中的rmdir()或者rmpath()时要求文件夹必须是非空的 ...
- gorm操练记录
这个数据库的定义蛮全的,先作个记录. package main import ( "time" "github.com/jinzhu/gorm" _ " ...
- HTML DOM的创建,删除及替换
创建HTML元素 document.appendChild() 将新元素作为父元素的最后一个子元素进行添加 如需向HTML DOM添加新元素,首先必须创建该元素,然后把它追加到已有的元素上 var n ...
- finger
finger <username> 显示用户信息,包括用户的home目录,上一次登录的时间,默认shell等 finger XXXXX #输出: #Login: XXXXX Name: X ...
- K8S 1.16 [plugin flannel does not support config version
[plugin flannel does not support config version 导致 Unable to update cni config: no valid networks fo ...
- PlayJava Day025
JTable 用JTable类可以以表格的形式显示和编辑数据 JTable类的对象并不存储数据,它只是数据的表现 MVC 数据.表现和控制三者分离,各负其责 M = Model(模型) V = Vie ...
- 在Vue中添加css扩展语言sass
npm install vue-loader --save-dev npm install node-sass --save-dev npm install sass-loader --save-de ...
- ElementUi中el-table分页效果
现实的场景中很经常遇到表格el-table数据过多,为了更好的用户体验,所以我们需要用到分页,一般分页可以视数据量的大小可分为前端控制和后端控制. 先看下效果(已做脱敏处理) 图1 前端el-tabl ...
- 44-创建 Machine
对于 Docker Machine 来说,术语 Machine 就是运行 docker daemon 的主机.“创建 Machine” 指的就是在 host 上安装和部署 docker.先执行 doc ...