Журнал доступа к tomcat получить мой eth0 ip?

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
       prefix="localhost_access_log" suffix=".txt"
       pattern="%t %a %A %p %r %q %s %B  %D %{User-Agent}i %{Referer}i"
       resolveHosts="false" />

Это мой server.xml, тогда я обнаружил, что результат такой:

[29/Mar/2017:10:36:16 +0800] 192.168.5.149 127.0.0.1 80 GET /favicon.ico HTTP/1.1 404 0 0 Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:52.0) Gecko /20100101 Firefox/52.0 -

в server.xml %A просто дайте мне IP-адрес цикла, но я хочу IP-адрес eth0 ..

И что я должен делать? Большое спасибо!


person Betterc    schedule 29.03.2017    source источник


Ответы (1)


  1. Проверьте имя хоста:
$ hostname
yourhost
  1. Отредактируйте /etc/hosts и добавьте:
192.168.5.1    yourhost

К вашему сведению, исходный код Tomcat:

/**
 * write local IP address - %A
 */
protected static class LocalAddrElement implements AccessLogElement {

    private static final String LOCAL_ADDR_VALUE;

    static {
        String init;
        try {
            init = InetAddress.getLocalHost().getHostAddress();
        } catch (Throwable e) {
            ExceptionUtils.handleThrowable(e);
            init = "127.0.0.1";
        }
        LOCAL_ADDR_VALUE = init;
    }

    @Override
    public void addElement(StringBuilder buf, Date date, Request request,
            Response response, long time) {
        buf.append(LOCAL_ADDR_VALUE);
    }
}
person Kohei TAMURA    schedule 29.03.2017
comment
Вы перезапустили Tomcat после внесения изменений? - person Kohei TAMURA; 30.03.2017
comment
В последнее время слишком занят, поэтому нет времени отвечать, извините. Проблема решена. Спасибо. - person Betterc; 18.05.2017