Não testado, mas você pode tentar com um padrão como:
%{javax.servlet.request.X509Certificate}r
Qual deve imprimir o certificado x509 usado pelo agente de usuário para a autenticação (com a corrente). Isso usa o padrão %{xxx}r
de AccessLogValve
, que imprime os atributos da solicitação e do tomcat (ou servlet api) que adicionam esse atributo (consulte o código-fonte do tomcat em github )
O problema é que o método toString()
de X509Certificate
é bastante detalhado. Tenho certeza de que o DN está aqui, mas há muito mais informações.
Isto é, se você não quiser tocar no código java. Se desejar, você também pode tentar definir um filtro que adicione o atributo exato desejado e imprima-o no log.