我正在利用 Weblogic 12c 并希望通过扩展日志记录格式字段将 http 标头“授权”添加到日志中。 根据我的发现,可以使用以下选项:
日期时间 cs-方法 cs-uri-stem cs-uri-查询 sc-状态 所用时间
还有其他方法可以添加此功能吗? 预先感谢您的帮助。
根据http://docs.oracle.com/cd/E24329_01/web.1211/e24432/web_server.htm#autoId12,可以通过创建java类来添加一些ELF字段来创建自己的自定义字段。
虽然,我不得不说我自己做不到。
根据此文档,
cs(Cookie)
关键字显示了请求中的所有cookie,因此如果您想在Weblogic的access.log
文件中显示请求标头信息,则无需编写任何代码。
我已经尝试过了,它的效果就像魅力一样
WebLogic Server Version 12.2.1.4.0
。
我使用的
Extended Logging Format Fields
的值是这样的:date time time-taken bytes c-ip s-ip c-dns s-dns sc-status sc-comment cs-username cs-method cs-uri cs-uri-stem cs-uri-query cs(Cookie)
此配置会生成以下日志:
#Version: 1.0
#Fields: date time time-taken bytes c-ip s-ip c-dns s-dns sc-status sc-comment cs-username cs-method cs-uri cs-uri-stem cs-uri-query cs(Cookie)
#Software: WebLogic
#Start-Date: 2022-09-15 16:04:30
2022-09-15 16:04:30 2.696 17772 10.178.48.246 weblogic-managed-server-1:7002 10.178.48.246 weblogic-managed-server-1 200 "OK" - GET /myapp/index.xhtml /myapp/index.xhtml - "TST_JSESSIONID=C7BB2m...-HN92Vx!-1879373823; _WL_AUTHCOOKIE_TST_JSESSIONID=kWsB...w7; splunkweb_csrf_token_8000=947...47; my_cookie_consent=...; MYAPP_JSESSIONID=v1o...84"
我刚刚花了一些时间添加我的自定义 ELF 字段,它起作用了。但后来我遇到了
cs(Header-Name)
,例如: cs(Sec-Ch-Ua-Platform)
或 cs(X-Request-Id)
- 两者都适用于我的 WL 12.2.1.4.0 并分别产生类似 ""Windows"" "515-1"
的输出。
我在 WL 文档中找不到相同的内容。
希望这些信息对某人有所帮助。