SpringBoot undertow accesslog格式
关于SpringBoot undertow
中accesslog
的格式
1.背景
1.收集accesslog日志。
2.项目使用SpringBoot的undertow
。
3.日志格式有特殊要求。
2.问题原因
关于寻找日志格式的路上,花费了不少时间,其中,在各种博客
上、SpringBoot官网上和Apache Access Logging标准。
都没有找到undertow
配置的相关答案。大部分博客都是把官网的说明直接翻译了一下。
而容器undertow
和tomcat
的配置是有一定的差别的。照搬Tomcat的日志配置是不行的,如下。
pattern: '%a - - %t "%m %U" %s %{content-length}o "%U" "%{User-Agent}i" "%A" "%b" "%T"'
会报如下错误:
2020-09-10 09:35:46.239 ERROR 13112 --- [main] io.undertow: UT005017: Unknown variable %{content-length}. For the literal percent character use two percent characters: '%'
2020-09-10 09:35:46.239 ERROR 13112 --- [main] io.undertow: UT005017: Unknown variable %{User-Agent}. For the literal percent character use two percent characters: '%'
3.解决方案
在一筹莫展之际,我突然想起,虽然官网的说明可能是简写,但是源码
是不会简写的。所以,我找到了SpringBoot的源码包io.undertow.attribute
,打开其中一个Response
类ResponseHeaderAttribute
。看到如下代码,瞬间明白了写法。
Tomcat中的写法是%{User-Agent}i
。
而通过undertow
的源码得知,其的写法为%{i,User-Agent}
。
至此,问题解决。分享下我的日志格式。
pattern: '%a - - %t "%m %U" %s %{o,content-length} "%{i,User-Agent}" "%A" "%b" "%T"'
输出日志
0:0:0:0:0:0:0:1 - - [10/Sep/2020:09:27:19 +0800] "POST /user/get" 200 - "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36" "0:0:0:0:0:0:0:1" "64" "-"
Undertow官网说明
SpringBoot undertow accesslog格式相关推荐
- SpringBoot接收Xml格式参数并转换为POJO对象
SpringBoot接收Xml格式参数并转换为POJO对象 1. 所需JavaBean @XmlAccessorType(XmlAccessType.FIELD) @XmlType(propOrder ...
- SpringBoot传输XML格式
SpringbBoot传输XML格式数据 现在的Ajax传输数据越来越多的人使用的是json格式,理由也很简单,方便.快捷.打字少!但是工作中会遇到XML格式的数据传输的情况,今天就和大家分享一下sp ...
- 基于springboot的多格式转PDF
一.项目简介 基于springboot的多格式转PDF 二.实现功能 支持文件上传 支持文件转 PDF 支持文件转图片(会先将文件转为 pdf,然后再用 pdfbox 转为图片) 支持参数配置 支持前 ...
- springboot undertow替换tomcat方式
版权声明: https://blog.csdn.net/weixin_38187317/article/details/81532560 说明 undertow,jetty和tomca ...
- SpringBoot实现PPT格式文件上传并在线预览
1.需要引入依赖 <dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf< ...
- java 原生 json 转 xml java json转xml 实现代码 读取本地json文件 转成 xml数据 用springboot 发布xml格式数据
结果xml截图 json数据 main启动 import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; ...
- SpringBoot返回XML格式数据
首先,添加Jackson dependency依赖到pom.xml中 <dependency> <groupId>com.fasterxml.jackson.dataforma ...
- SpringBoot 返回xml格式
首先给大家分享一个巨牛巨牛的人工智能教程,是我无意中发现的.教程不仅零基础,通俗易懂,而且非常风趣幽默,还时不时有内涵段子,像看小说一样,哈哈-我正在学习中,觉得太牛了,所以分享给大家!点这里可以跳转 ...
- springboot输出json格式日志
1.在pom文件中添加依赖 <dependency><groupId>net.logstash.logback</groupId><artifactId> ...
最新文章
- 北大图灵班本科生获STOC最佳论文奖!这个对标清华姚班的人才计划,正在频频交出答卷...
- Angular JS 中的内置方法之表单验证
- Java线程之守护线程(Daemon)
- DIY一个高大上带提醒的计时器,简单实用,你还在等什么
- vue动态跟新layui的select_vue+layui实现select动态加载后台数据的例子
- 2017.10.25水题大作战题解
- 美团“共享单车变球场”项目落地四川阿坝
- SuperMap IS.NET保存地图之Ajax篇(转)
- [转载] python自带sqlite库_Python内置库SQlite3使用指南
- 好用的MARKDOWN编辑器一览
- apkg格式怎么打开_天正软件如何导成CAD识别格式
- windows下如何制作和应用数字签名证书 全流程
- 跨平台APP开发心路历程
- 关于使用Windows10系统,使用LR11录制app脚本的方法说明
- 图片显示方向不对怎么办
- 管程法解决生产者消费者问题
- 消息传递,生产者消费者
- a ^ 3 = b ^ 3 + c ^ 3 + d ^ 3
- 详解什么是Polygon跨链桥
- 微信小程序实例-摇一摇抽奖
热门文章
- [含lw+源码等]S2SH+mysql水费管理系统[包运行成功]Java毕业设计计算机毕设
- scratch3.0 二次开发-基本介绍(第一章)
- ICT产业正在向四大趋势变革
- 微信知乎B站赚钱套路揭秘… 如何把高考猛人忽悠瘸?(附人类简史电子书)
- 经纬度转geohash函数
- 【电气专业知识问答】问:厂用电动机如何选择?
- 大白菜装机版安装win7系统使用教程
- ZYNQ进阶之路13--自定义AXI-FULL IP实现PS和PL双向高速通讯
- 全国计算机一级考点wps,2018年计算机一级考试WPS考点:制作WPS文档封面
- 锂电革命势在必行,电动两轮车锂电这块蛋糕怎么瓜分?安全是第一道“投名状”!