Wpis z mikrobloga

Powiedzieli "phi na to zadanie masz 1 dzien". A ja siedzę już nad tym cały piątek i całą sobotę taki ze mnie #programista4k
Co jest nie tak? Logback twierdzi, że ma niezdefiniowany plik z logiem na linuxie i nie chce mi utworzyć pliku z logiem, a na windowsie mi to działa...


${USERHOME}/ALL.log

${CONSOLE
LOGPATTERN}


${USER
HOME}/ALL.%d{yyyy-ww}.%i.log

100MB

#programowanie #linux
  • 10
U mnie na ubuntu nie ma zmiennej środowiskowej ${USERHOME}, u Ciebie jest?

Co pokazuje:
echo ${USER
HOME}
echo ${HOME}

Może USERHOME jest puste i przez to źle buduje ścieżkę do pliku?

// edit
A nie zauważyłem ``. Co to robi? Tworzy zmienną środowiskową na czas działania aplikacji? Czy to jakaś zmienna widoczna tylko w tym pliku?

Najlepiej pousuwaj te wszystkie USER
HOME i wszędzie walnij ścieżki bezwzględne.
Jaką wartość ma ${CONSOLELOGPATTERN} ? Ustawiasz to gdzieś?
W dokumentacji dają przykład wzorca nazwy pliku: %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
Podmień i sprawdź.

Zmień też na małe litery.
Za 777 powinni palce ucinać. Zaczyna się od 'na próbę' a potem leci na produkcje. Jeśli ktoś nie potrafi sprawdzić na na systemie na którym pracuje czy ma (lub nie) uprawnienia do zapisu w danej lokalizacji, to znaczy że powinien zmienić system.
Pokaż debug logi z logbacka ze startu aplikacji, jeżeli logback twierdzi, że ma niezdefiniowany plik z logiem, a na windowsie działa, to być może odpalasz aplikację na windowsie z innym classpathem niż na linuxie.