2011-08-22 9 views
5

Obecnie tworzę prostą aplikację internetową, używając Eclipse i lokalnego serwera Tomcat 7. Skonfigurowałem Eclipse, aby móc uruchomić Tomcat 7 z mojego IDE - nie ma tu zbyt wiele magii.Gdzie są moje pliki logowania mojego webappa na instalacji Tomcat 7?

W mojej aplikacji internetowej, używam slf4j z Logback, który wygląda tak w klasie usługi:

public class MyServiceImpl implements MyService 
{ 
    private static Logger logger = LoggerFactory.getLogger(MyServiceImpl.class); 

    public void doSomeStuff() 
    { 
     logger.info("Doing some stuff"); 
    } 
} 

Moje rejestrowania jest skonfigurowany w ten sposób:

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 

    <appender name="fileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
     <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
      <fileNamePattern>log/MyTestWebApp.%d.log.zip</fileNamePattern> 
      <maxHistory>30</maxHistory> 
     </rollingPolicy> 
     <encoder> 
      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> 
     </encoder> 
    </appender> 

    <logger name="com.test" level="WARN" /> 

    <root level="WARN"> 
     <appender-ref ref="fileAppender" /> 
    </root> 

</configuration> 

Kiedy zacznę internecie aplikacja i tak lokalny serwer Tomcat 7, wyjście idzie do rejestrowania

./log/MyTestWebApp.log 

jak oczekiwano, gdzie Curr Katalog ent jest tam, gdzie znajduje się moja aplikacja internetowa (na przykład, gdzie znajduje się mój Maven pom.xml).

Po uruchomieniu aplikacji internetowej na zdalnym komputerze z systemem Linux nie mogę znaleźć pliku "MyTestWebApp.log", a nie bezpośrednio w mojej aplikacji internetowej ani w katalogu głównym Tomcat7.

Moje proste pytanie brzmi: gdzie są te logi i gdzie jest mój plik "MyTestWebApp.log"?

Bardzo dziękuję za pomoc!

+1

czy to działa na lokalnym komputerze, ale nie odległy, to warto sprawdzić uprawnienia do pliku, folderu etc – Will

+0

Dzięki za odpowiedź, zobacz mój komentarz poniżej do posta palacsint, znalazłem mój plik dziennika w katalogu "Tomcat/bin/log/*". –

Odpowiedz

4

Plik dziennika znajduje się w katalogu początkowym Tomcat. Możesz pobrać ten katalog za pomocą tego polecenia:

grep -az "\bPWD" /proc/TOMCAT_PID/environ 
+0

Dzięki za odpowiedź. Znalazłem mój plik dziennika w moim katalogu "Tomcat/bin/log/*". No cóż, nie sądzę, że jest to poprawna ścieżka do plików logów :) Czy istnieje wspólne podejście do konfiguracji systemu, więc logi idą we właściwe miejsce (co to kiedykolwiek jest)? –

+2

Jak widzę, są dwa sposoby: ustaw bezwzględne ścieżki w pliku logback.xml lub upewnij się, że Tomcat jest zawsze uruchamiany z właściwego katalogu. Zwykle używam bezwzględnych ścieżek i generuję wojny produkcyjne z profilem maven, który filtruje zasoby w pliku logback.xml i umieszcza w nim bezwzględne ścieżki. – palacsint

3

Czy sprawdziłeś uprawnienia w swoim katalogu tomcat7? To znaczy. kto jest właścicielem/var/lib/tomcat7? Czasami instalacja sprawi, że katalog ten będzie należał do użytkownika root, nie pozwalając użytkownikowi Tomcat7 na stworzenie katalogu "log" w tym miejscu.

Aby go naprawić, wystarczy

sudo chown tomcat7:tomcat7 /var/lib/tomcat7 

Nadzieję, że to pomaga, Sekm