1
我試圖將userId或用戶名添加到http請求日誌中,第二個字段似乎是我想要設置的字段。Dropwizard [0.9.2]請求添加身份驗證信息
- 遠程服務器地址
- 可選認證信息
- 請求的日期和時間
- 的HTTP方法,URI,和協議的請求
- 的HTTP響應狀態代碼
- 響應的長度
- HTTP referer頭(如果設置)
- 的HTTP用戶代理(如果已設置)
- 日誌延遲
閱讀碼頭源Jetty source,我發現這個
getUserPrincipal().getName()
但我從來沒有讓我的用戶的名稱。我thnik我失去了一些東西,但不知道是什麼。
有些情況下,如果它可以幫助
public class MyUser implements Principal {
private Long id;
private String name;
public String getName() {
if (name == null || name.isEmpty())
return getIdAsString();
return name;
}
public String getIdAsString() {
return Long.toString(id, 16);
}
}
進入我的ressource
@POST
@Path("/test/")
public int test(
@Auth @ApiParam(hidden = true) Principal user, ...)
{
logger.error(user.getName());
[...]
}
如果我登錄的name
與記錄我明白了,沒有問題,如何把它變成了請求日誌?
哪個Dropwizard的版本您使用的?最近的發行說明在這裏http://www.dropwizard.io/1.0.2/docs/about/release-notes.html顯示了1.0.0和1.0.1版本中的HTTP請求記錄的一些問題。而1.0.2應該解決它們。問題是#1737,#1678和#1415。 – zloster
我正在使用0.9.2,我編輯了我的問題 –
我認爲[問題#898](https://github.com/dropwizard/dropwizard/issues/898)是你需要檢查的。正如在評論中提到的那樣,通過手動注入Jetty用於記錄請求的'UserAuthentication'對象似乎有一個解決方法。 – zloster