Fórum Root.cz
Hlavní témata => Server => Téma založeno: MP 23. 05. 2016, 11:16:58
-
Zdravim,
mam aplikaci v tomcat8, ktera generuje jmeno logu v tomto formatu:
app.log.2016-03-10
Tomcat vicemene vubec neznam, nevite nekdo, jak zajistit rotaci logu? Ty manualy pro tomcat jsou pro me trochu spanelska vesnice. Je tohle neco, co se da nastavit v aplikaci od vyvojaru, nebo je to nutne nastavit v tomcatu? Momentalne pouzivam toto:
/var/log/tomcat8/app.log.* {
copytruncate
daily
rotate 30
compress
missingok
create 644 tomcat8 tomcat8
}
Ale timto vznika toto:
-rw-r--r-- 1 tomcat8 tomcat8 0 May 23 06:49 app.log.2016-03-10.1.gz.1.gz.1.gz.2.gz
-rw-r--r-- 1 tomcat8 tomcat8 0 May 23 06:49 app.log.2016-03-10.1.gz.1.gz.1.gz.2.gz.1.gz
-rw-r--r-- 1 tomcat8 tomcat8 0 May 23 06:49 app.log.2016-03-10.1.gz.1.gz.1.gz.2.gz.1.gz.1.gz
-rw-r--r-- 1 tomcat8 tomcat8 0 May 23 06:49 app.log.2016-03-10.1.gz.1.gz.1.gz.2.gz.1.gz.1.gz.1.gz
-rw-r--r-- 1 tomcat8 tomcat8 0 May 23 06:49 app.log.2016-03-10.1.gz.1.gz.1.gz.2.gz.1.gz.1.gz.1.gz.1.gz
-rw-r--r-- 1 tomcat8 tomcat8 0 May 23 06:49 app.log.2016-03-10.1.gz.1.gz.1.gz.2.gz.1.gz.1.gz.1.gz.1.gz.1.gz
Jaky je obecne nejlepsi postup u tomcatu k zajisteni rotace logu s omezenym poctem? Variante s find v crontabu bych se chtel vyhnout.
-
Určitě se obrať na vývojáře, protože s velmi vysokou pravděpodobností logují přímo z aplikace a ne přes tomcat (tj. v aplikaci mají knihovnu která rovnou zapisuje do souboru, to je běžná praxe). Takže ať to překonfigurují, případně ať někde dají možnost načíst změněnou konfiguraci z disku.
-
Záleží trochu na verzi Tomcata. Je snaha podporovat různé logovací backendy, takže je možné centrální nastavení v Tomcatu, i když aplikace v Tomcatu používají různé knihovny pro logování. Pak lze nastavit aby logy rotovaly bez nutnotsti používat systémový logrotate.
Takže podle mě se zeptat se vývojářů, jakou používají pro logování implementaci - zda je podporovaná ze strany Apache Commons Logging. Dále zkontrolovat, zda nemají vlastní nastavení pro tuto implementaci přibalené přímo v aplikaci. To by mít neměli, aby se mohla uplatit centrální konfigurace v Tomcatu. Pak by mělo stačit už jen nastavit logování v Tomcatovi centrálně.
https://wiki.apache.org/tomcat/FAQ/Logging
http://blog.kchandrahasa.com/blog/2013/07/16/configuring-tomcat-catalina-log-rotation/
Je to trochu nepřehledné, nejlépe aby to nastavil někdo, kdo to už dělal a zná různá zákoutí...
-
Zkus se podivat, zda nekde v deploynute aplikaci v adresari 'webapps' neni soubor log4j.properties nebo neco takoveho. Vetsina JAVA aplikaci vyuziva log4j knihovnu. Pres tento soubor by se mela dat nakonfigurovat rotace logu, uroven logovani v aplikaci apod. Tomcat prilis uroven logovani aplikace neovlivnuje. Jak napsali vyse, je to spise na vyvojarich, jak si logovani naprogramovali.
-
Není pravda, že by log4j nějak převládal, je tu více srovnatelných systémů. Nastavení Tomcata neovlivňuje úroveň, s jakou se konkrétní hláška zaloguje, ale určuje, zda a kam se hláška uloží.