Если ваше веб-приложение всегда использует файлы cookie для управления сеансами, вы можете изменить LogFormat и добавить параметр для регистрации определенного файла cookie:
LogFormat ... \"%{JSESSIONID}C\" ... combined
Это не работает при первом запросе, так как обычно на сервер не отправляются файлы cookie.
Увидеть:
http://httpd.apache.org/docs/2.2/mod/mod_log_config.html#formats:
% {Foobar} С
Содержимое куки Foobar в запросе отправляется на сервер. Полностью поддерживаются только файлы cookie версии 0.
Если вам нужно регистрировать каждый jsessionid, так что даже те, которые закодированы в строке url, вы можете установить заголовок на вашем сервере веб-приложений (например, tomcat) следующим образом:
response.setHeader("X-JSESSIONID", request.getSession().getId());
в формате журнала Apache вы можете войти в этот RepsonseHeader с помощью
% {Foobar} о * ** 1026 тысяча двадцать пять *
Содержимое Foobar: строки заголовка в ответе.
так что получается примерно так:
LogFormat ... \"%{X-JSESSIONID}o\" ... combined
Но следите за Безопасность : Вы не должны регистрировать jsessionid, потому что каждый, кто имеет доступ к файлу журнала, может перехватить каждый пользовательский сеанс. Когда вы устанавливаете строку заголовка в своем коте, вы, возможно, должны зашифровать sessionid.
String sessionId = request.getSession().getId();
String crypt = yourcryptalgo(sessionId);
response.setHeader("X-JSESSIONID", crypt);