Vas*_*nov 10 java spring tomcat spring-mvc spring-boot
我正在使用带有嵌入式tomcat + spring安全性的spring boot.我从tomcat访问日志看起来像这样
IP - - [14/Feb/2017:08:49:50 +0200]"GET/page/2 HTTP/1.1"200 2606
那么,我怎样才能使日志文件看起来像
IP - - [14/Feb/2017:08:49:50 +0200] 用户名 - "GET/page/2 HTTP/1.1"200 2606
每个请求都必须具有用户名.对于安全验证,我使用spring security和数据库用户名和密码信息.
您可能需要将应用程序属性中的访问日志模式更改为以下内容:
server.tomcat.accesslog.pattern=%h %l %t %u "%r" %s %b
Run Code Online (Sandbox Code Playgroud)
其中%u是已经过身份验证的远程用户(请参阅此处的示例).
UPD:可能这还不够,因为普通模式已经包含%u参数.在这种情况下,我会建议另外两个步骤:
1)将用户名放入请求会话参数,例如:
request.getSession().addAttribute("username", user.getName());
2)在访问日志模式中添加以下参数: %{username}s
server.tomcat.accesslog.pattern=%h %l %t %u %{username}s "%r" %s %b
Run Code Online (Sandbox Code Playgroud)
应采取指定属性username从HttpSession,因为它描述了这里.
| 归档时间: |
|
| 查看次数: |
2178 次 |
| 最近记录: |