首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将查询参数打印到访问日志中,以便用于light-4j应用程序?

将查询参数打印到访问日志中,以便用于light-4j应用程序?
EN

Stack Overflow用户
提问于 2020-02-03 08:53:21
回答 1查看 49关注 0票数 0

我的light-4j应用程序正在使用AuditHandler打印访问日志。打印的默认格式是:

{“时间戳”:1580470146236,“终结点”:“/mmt/寄存器@post”,“X相关-Id”:“123456”,"statusCode":200,"responseTime":70}

但是,客户端使用的是查询参数:/mmt/配准?id=2的API。

如何自定义访问日志,以便它也在访问日志中打印查询参数?{“时间戳”:1580470146236,“终结点”:“/mmt/寄存器@post?Id=2”,“X-关联-Id”:“123456”,"statusCode":200,"responseTime":70}

我当前的logback设置是:

代码语言:javascript
复制
<appender name="access-log" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>/opt/logs/Register/access.json</File>
        <append>true</append>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>/opt/logs/Register/access.%d{yyyy-MM-dd}.%i.json
            </fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy
                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <!-- or whenever the file size reaches 1GB -->
                <maxFileSize>1GB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <MaxHistory>50</MaxHistory>
        </rollingPolicy>
        <encoder>
            <Pattern>%m%n</Pattern>
        </encoder>
    </appender>
EN

回答 1

Stack Overflow用户

发布于 2020-02-03 18:47:16

默认的AuditHandler只记录端点,即路径和方法组合。查询参数不是它的一部分。要记录查询参数,有两个选项。

  1. 在light-4Jrepo中自定义AuditHandler,如果要在生产中记录查询参数,则用handler.yml文件中的自定义on替换它。
  2. --如果您只需要在dev环境中记录查询参数,那么您可以连接到DumpHandler中。它基本上是根据请求和响应转储所有内容,包括头、查询参数、路径参数、cookie和请求主体。然而,它大大降低了系统的速度,不建议在生产中启用它。查看handler.yml文件,以取消对处理程序的注释,并取消默认链中的别名。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60035829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档