JAVA - есть ли журнал / какой-либо файл для взаимодействия / соединений клиент-сервер? - PullRequest
2 голосов
/ 23 января 2011

У меня есть клиент-серверное приложение, которое взаимодействует с базой данных, в которой хранятся врачи, пациенты и т. Д. Цель этого приложения - назначить встречу в кабинете врача.

Вот мой вопрос: существует ли какой-то файл / log / class, который показывает абсолютно все, что отправляется между клиентом и сервером. Мне нужно как можно больше информации, чтобы я мог отлаживать.

Большое спасибо.

Cristian.

Ответы [ 4 ]

3 голосов
/ 23 января 2011

Полагаю, вам нужно фиксировать взаимодействия клиент / сервер. В этом случае проверьте WireShark . Он будет отображать весь сетевой трафик между клиентом и сервером, а также декодировать HTTP и другие протоколы. Обратите внимание, что это не IDE и не зависит от языка.

Затем вы можете использовать это вместе с вашими лог-файлами на стороне клиента и сервера, чтобы получить полную картину происходящего.

1 голос
/ 23 января 2011

Если это фильтр регистра веб-приложения, который регистрирует все запросы от клиента в некоторый файл.

web.xml:

<filter>
    <filter-name>MyLogFilter</filter-name>
    <filter-class>my.package.MyLogFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>MyLogFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

код:

 public class MyLogFilter implements Filter {
  private static final Logger log = Logger.getLogger(MyLogFilter.class);
   public void doFilter(ServletRequest req, ServletResponse res,
          FilterChain chain) throws IOException, ServletException {

    HttpServletRequest request = (HttpServletRequest) req;

    //Get the IP address of client machine.
    String ipAddress = request.getRemoteAddr();

    //Log the IP address and current timestamp.
    log.info("IP "+ipAddress + ", Time "
                        + new Date().toString());

    chain.doFilter(req, res);
}
1 голос
/ 23 января 2011

Вы можете зарегистрировать связь JDBC, предоставив файл журнала для драйвера JDBC, используя DriverManager.setLogWriter () (вам нужно сделать это перед установлением любого подключения к базе данных, еслине ошибаюсь)

Но я не знаю ни одной библиотеки, которая будет автоматически регистрировать весь сетевой трафик.Для этого вам понадобится что-то вроде Wireshark.

0 голосов
/ 23 января 2011

Ваше решение основано на NetBeans? Просто в Java этого нет, если только вы не используете java.util.Logger, Log4J, SLF4J или другие каркасы ведения журналов.

Является ли ваш менеджер пациента открытым исходным кодом? Однажды я начал работать над решением на основе NetBeans (кодовое имя MedBeans, позже Paracelsus), но отказался от этой идеи после того, как узнал об Elexis, подходе Eclipse, популярном, особенно в немецкоязычных странах Центральной Европы.

...