Apache Tomcat 8

API pro protokolování Servletů předchází Java.využít.API pro protokolování, které nyní poskytuje Java. Proto vám nenabízí mnoho možností. E.G., Nemůžete ovládat úrovně protokolu. Lze však poznamenat, že při implementaci Apache Tomcat hovory do servletContext.log (řetězec) nebo genericServlet.log (řetězec) jsou zaznamenány na úrovni informací. Hovory na servletContext.Log (řetězec, házení) nebo genericServlet.Log (řetězec, házení) jsou zaznamenány na závažnou úroveň.

Souhrn:

V tomto článku vysvětlím důležitost používání Apache Tomcat 9 s log4J2 pro účely protokolování. Poskytnu také krok za krokem průvodce, jak nakonfigurovat Apache Tomcat s log4J2 a diskutuji o osvědčených postupech pro protokolování ve výrobních prostředích.

Klíčové body:

  1. Apache Tomcat 9 a Log4J2 nabízejí širokou škálu možností protokolování a připojení
  2. Log4J2 poskytuje zjednodušené konfigurace požití souborů a protokolu
  3. Chcete -li nakonfigurovat log4j2 s Apache Tomcat, přidejte potřebné knihovny do třídy a odeberte výchozí protokolování.soubor vlastností
  4. Počínaje Tomcat 8.5.4, knihovny Juli-Adapter již nejsou potřeba, protože log4j2 lze přímo zapojit do Java.využít.protokolování
  5. Pro výrobní prostředí se doporučuje přizpůsobit konfiguraci log4j2, aby se zabránilo duplikujícím protokolům, povolení otáčení protokolu a odstranění nepoužitých připojení
  6. Kromě toho, připojení různých protoggerů do jednoho Appender může pomoci identifikovat problémy s nasazením v aplikacích
  7. Vynutit aplikace pomocí systému.ven a systém.Err to Log, přidejte atribut SwallowOutput v kontextu.soubor XML
  8. Aplikace pomocí rámce JUL lze nakonfigurovat tak, aby používal log4j2 úpravou proměnné prostředí logging_manager
  9. Při používání jarních bot s log4J2 vylučujte závislost na pražci-boot-startéru a přidejte pružinu-Boot-Starter-Log4J2
  10. Přizpůsobte úrovně protokolování pro konkrétní balíčky a podle potřeby deaktivujte jarní prapor

Otázky:

  1. Proč bych měl zvážit použití Apache Tomcat 9 s log4j2 pro protokolování?
    Log4J2 nabízí širokou škálu možností protokolování a připojení, což z něj dělá výkonný nástroj pro správu protokolů v Tomcat.
  2. Jak nakonfiguruji log4j2 s Apache Tomcat?
    Chcete -li nakonfigurovat log4j2 s Apache Tomcat, musíte přidat potřebné knihovny do třídy a odebrat výchozí protokolování.soubor vlastností.
  3. Proč jsou knihovny Juli-Adapter již v Tomcat 8 nepotřebné.5.4 a více?
    Log4j2 lze přímo zapojit do Java.využít.Protokolování, eliminování potřeby knihoven juli-adaptéru.
  4. Jaké jsou doporučené konfigurace protokolování pro výrobní prostředí?
    Ve výrobních prostředích se doporučuje přizpůsobit konfiguraci log4j2, aby se zabránilo duplikujícím protokolům, povolení otáčení protokolu a odstranění nepoužitých připojení.
  5. Jak mohu vynutit aplikace pomocí systému.ven a systém.Err to Log?
    Přidáním atributu Swallowoutput do kontextu.soubor XML, aplikace pomocí systému.ven a systém.Err může být nucena přihlásit se.
  6. Mohou být aplikace pomocí rámce JUL nakonfigurovány tak, aby používaly log4j2?
    Ano, úpravou proměnné prostředí Logging_Manager lze aplikace pomocí rámce JUL nakonfigurovat pro použití log4j2.
  7. Co bych měl udělat pro použití log4j2 s jarním bootem?
    Chcete-li použít log4j2 s pružinovou botou, vyloučte závislost na pražci-boot-starter a přidejte pružinu-boot-starter-log4j2.
  8. Jak mohu přizpůsobit úroveň protokolování pro konkrétní balíčky v jarním boot?
    Úrovně protokolování pro konkrétní balíčky lze přizpůsobit úpravou vlastností konfigurace protokolování v konfiguračním souboru aplikace.
  9. Je možné deaktivovat jarní prapor v jarním boot?
    Ano, jarní banner může být deaktivován nastavením jara.hlavní.vlastnost bannerového režimu v konfiguračním souboru aplikace.
  10. Proč bych měl použít log4j2 místo výchozí implementace protokolování v Tomcat?
    Log4J2 nabízí širší škálu možností protokolování a připojení, díky čemuž je flexibilnější a výkonnější ve srovnání s výchozí implementací protokolování v Tomcat.

Podrobné odpovědi:

  1. Proč bych měl zvážit použití Apache Tomcat 9 s log4j2 pro protokolování?
    Apache Tomcat 9 s log4J2 poskytuje pokročilejší a flexibilnější systém protokolování ve srovnání s výchozí implementací protokolování. Log4J2 nabízí širokou škálu dodavatelů a možností protokolování, což vám umožňuje efektivně přizpůsobit a spravovat své protokoly. Jednoduchost konfigurace log4J2 a její schopnost valit soubory protokolu s původním názvem z něj činí přitažlivou volbu pro konfigurace požití protokolu. Navíc použití log4J2 eliminuje omezení API pro protokolování servletů, jako je neschopnost kontrolovat úrovně protokolu.
  2. Jak nakonfiguruji log4j2 s Apache Tomcat?
    Konfigurace log4j2 s Apache Tomcat je přímá. Nejprve musíte do třídy Tomcat Classpath přidat log4j2-api, log4j2-core a log4j2-appserver knihovny. Poté zadejte konfigurační soubor log4j2 ve vašem projektu. Nakonec odstraňte výchozí protokolování.Soubor vlastností z instalace Tomcat. Po těchto krocích povolí log4j2 jako rámec pro protokolování pro Tomcat.
  3. Proč jsou knihovny Juli-Adapter již v Tomcat 8 nepotřebné.5.4 a více?
    Verze Tomcat 8.5.4 a výše uvedené přímé integrace s log4j2, což eliminuje potřebu knihoven juli-adaptéry. Log4j2 lze nyní zapojit přímo do Java.využít.protokolování, díky čemuž je to bezproblémové náhrady za API. Tato integrace zjednodušuje proces konfigurace protokolování a poskytuje větší kontrolu nad úrovněmi protokolu a připojení.
  4. ?
    Při konfiguraci log4j2 pro výrobní prostředí by se mělo brát v úvahu několik úvah. .Soubor a Catalina.log soubor. Toho lze dosáhnout odstraněním konzole. .Protokol soubor, aby se zabránilo příliš velkému růstu. A konečně, odstranění nepoužívaných příloh, jako je manažer.log a host_manager.. Kromě toho, připojení různých protoggerů do jednoho Appender, jako jsou Catalina a Localhost Loggery, může zjednodušit odstraňování problémů a identifikovat problémy s nasazením.
  5. Jak mohu vynutit aplikace pomocí systému..Err to Log?
    Vynutit aplikace, které používají systém.ven a systém.Err to Log, můžete přidat atribut Swallowoutput do výchozího kontextu.Soubor XML umístěný v $ catalina_base/conf/kontext.xml. Tento atribut pokyn Tomcatovi nasměruje systém přesměrování..erm do systému protokolování a zajištění toho, aby byl veškerý výstup zachycen v protokolech.
  6. Mohou být aplikace pomocí rámce JUL nakonfigurovány tak, aby používaly log4j2?
    Ano, aplikace, které používají rámec JUL (Java Util Logging). Úpravou proměnné prostředí Logging_Manager v Setenv.Soubor SH, můžete nastavit hodnotu na “-djava.využít.protokolování.Manager = org.Apache.protokolování.log4j.JUL.Logmanager “. Tato konfigurace zajišťuje, že aplikace používající JUL použijí formát log4j2 pro své protokoly místo výchozího formátu.
  7. Co bych měl udělat pro použití log4j2 s jarním bootem?
    Chcete-li použít log4j2 s pružinovou botou, musíte vyloučit výchozí závislost na pražnici s pramenem z různých artefaktů startéru. To lze provést zadáním <vyloučit>Spring-Boot-Starter-Logging</vyloučit> V části závislosti v Pom projektu vašeho projektu.soubor XML. Po vyloučení výchozí závislosti na protokolování můžete přidat závislost na jaře-Boot-Starter-Log4J2, která zahrnuje všechny potřebné závislosti Log4J2 a ty SLF4J. Pokud nepoužíváte žádnou z funkcí SLF4J, můžete místo toho použít závislost log4j-Web.
  8. Jak mohu přizpůsobit úroveň protokolování pro konkrétní balíčky v jarním boot?
    V Spring Bootu můžete přizpůsobit úrovně protokolování pro konkrétní balíčky úpravou konfigurace protokolování ve vlastnostech aplikace nebo souboru YAML. Syntaxe pro přizpůsobení úrovní protokolování je protokolování.úroveň.Packet_name = Level. Například, pokud chcete nastavit úroveň ladění pro „org.Balíček SpringFramework “a balíček” Hello “, můžete přidat následující konfiguraci: protokolování.úroveň.org.SpringFramework = debug a protokolování.úroveň.ahoj = ladění.
  9. Je možné deaktivovat jarní prapor v jarním boot?
    Ano, je možné deaktivovat jarní prapor v jarním boot. Nastavením jaro.hlavní.režim banneru Vlastnost na „Vypnuto“ ve vlastnostech aplikace nebo souboru YAML můžete zabránit tomu, aby se banner objevil ve výstupu konzoly nebo v souborech protokolu.
  10. Proč bych měl použít log4j2 místo výchozí implementace protokolování v Tomcat?
    Log4J2 nabízí několik výhod oproti výchozí implementaci protokolování v Tomcat. Poskytuje širší škálu dodavatelů a možností protokolování, což vám umožňuje přizpůsobit své protokoly podle vašich potřeb. Log4J2 také nabízí větší flexibilitu při vaření souborů protokolu a zjednodušující konfigurace požití protokolu. Log4J2 navíc eliminuje omezení API pro protokolování servletů, jako je neschopnost ovládat úrovně protokolu protokolu. Celkově může používání log4j2 vylepšit váš zážitek z protokolování v Tomcatu.

Apache Tomcat 8

API pro protokolování Servletů předchází Java.využít.API pro protokolování, které nyní poskytuje Java. Proto vám nenabízí mnoho možností. E.G., Nemůžete ovládat úrovně protokolu. Lze však poznamenat, že při implementaci Apache Tomcat hovory do servletContext.log (řetězec) nebo genericServlet.log (řetězec) jsou zaznamenány na úrovni informací. Hovory na servletContext.Log (řetězec, házení) nebo genericServlet.Log (řetězec, házení) jsou zaznamenány na závažnou úroveň.

Udržujte své protokoly čisté pomocí Apache Tomcat 9, Log4J2 a Spring-Boot

Tyto poslední dny jsem hrál s Apache Tomcat 9 a Log4J2. Možná se divíte, proč chci změnit dobrý starý tomcat juli. Přestože miluji jednoduchost její konfigurace a skutečnost, že Juli funguje, Log4J2 nabízí velkou škálu příloh, díky nimž je velmi zajímavý. Také dávám přednost způsobu, jak log4j2 valí soubory, a udržuje původní název dotykem (E.G. Catalina.log), díky tomu je moje konfigurace požití protokolu (logstash) trochu jednodušší.

Apache Tomcat s konfigurací Log4J2

Konfigurace Apache-tomcat je poměrně jednoduchá. Musíte pouze přidat knihovny log4j2-API, log4J2-Core a Log4J2-AppServer do knihoven Tomcat ClassPath, zadat konfigurační soubor Log4J2 a odstranit The $ Catalina_base/conf/protokolování.vlastnosti z vaší instalace. Tyto kroky jsou popsány zde.

Pokud používáte verze Tomcat před 8.5.4 Možná se divíte, co se stalo s knihovnami Juli-Adapter z slavných Tomcat Extras? Už nejsou potřeba, protože log4j2 lze do Java připojit směrně.využít.Protokolování, hurá! Další informace na ASF Bugzilla – Bug 58588

Konfigurace protokolování pro výrobní prostředí

Pokud provozujete nedávnou verzi Tomcat, můžete vidět, že kapitola „Používání log4j“ předchozích verzí stále není. Možná máte pokušení opětovného použití starého log4j.Vlastnosti, které odráží výchozí Java.využít.protokolování. Buďte opatrní, protože se syntaxe vlastností log4j2 změnila. S tímto (btw, díky Bryan Maupin. ) Získáte výchozí konfiguraci se třemi výchozími loggery Tomcat a připojenci. Pro využití výroby můžete vzít v úvahu úvahy Tomcat Docs a doporučení ohledně přihlášení Mark Thomas, Člen Výboru pro řízení projektů Apache Tomcat:

  1. Dělat Net duplikát Tomcat výstup v Catalině.Out (konzola) a v Catalině.přihlásit se, zbavit se konzole
  2. Přidat otáčení do vaší kataliny.log
  3. Odstranění nepoužívaných připojení .log a host_manager.log
  4. Připojit odlišný Loggery (Catalina & Localhost) Jeden Appender (Catalina.log). To je užitečné k nalezení problémů s nasazením v aplikacích, jako jsou nesprávně definované filtry.

Konfigurace log4j2 uvedená v příkladu se snaží dodržovat tyto úvahy. Pokud s ním začnete server Tomcat a váš Tomcat běží „zdravý“, neměli byste v konzole vidět téměř nic. S touto konfigurací uvidíte v konzole pouze velmi katastrofické věci, jako jsou OutofMemoryErrors nebo skládky vlákna.

Nutit systém.ven a systém.Err to Log

Pokud nasadíme aplikace na náš server, který stále používá Systém.ven a/nebo Systém.chybovat, Můžeme je donutit k použití našeho přidání loggeru Swallowoutput = “True” ve výchozím nastavení $ Catalina_base/conf/kontext. serveru. Můžeme to udělat také na aplikaci a upravit každý z jejich meta-inf/kontextu.xml.

Java využít protokolování a log4j2

Můžeme také mít aplikace, které používají dobrý a starý JUL rámec:

.HelloworldController Sayhello Info: Dobrý den, JUL.

protokolování.vlastnosti našeho JDK, která je výchozí úroveň Informace a formátovat jednoduché formát. Můžeme je donutit použít náš formát log4j2 měnící se proměnnou prostředí Logging_manager. To můžete provést přidání do setu.Sh Soubor: logging_manager = “-djava.využít.protokolování.Manager = org.Apache.protokolování.log4j.JUL.Logmanager “ Nyní budou vaše protokoly vypadat jako něco takového:

Tomcat 2019-04-01 09: 13: 53,524 [Catalina-Utility-1] Info Hello.Helloworldapplication- Dobrý den, JUL.

Pamatuj si to org.Apache.protokolování.log4j.JUL.LogManager je součástí log4j-jul-2.11.2.Jar Bridge, který musí být přidán k vašemu ClassPath.

Spring Boot a Log4J2

Chceme nasadit jarní boot Hello, REST APLIP, která používá naši konfiguraci log4J2 (Appender a formát) a zároveň chceme udržet schopnost definovat různé protokoly. Například si představte, že chceme nastavit úroveň ladění na naše obchodní třídy, balíček Hello a na ty Springframework. A také umožňuje tichu klasický jarní banner:

protokolování.úroveň..SpringFramework = Debug protokolování.úroveň.ahoj = ladění jaro.hlavní.Banner-Mode = off

Ve výchozím nastavení startéry Spring-Boot používají logback, takže pro použití log4j2 musíme vyloučit Spring-Boot-Starter-Logging z různých startovacích artefaktů a přidejte Spring-Boot-Starter-Log4J2 závislost. Tento poslední bude zahrnovat všechny závislosti log4j2 plus ty slf4j. Může se stát, že nepoužíváme žádnou z funkcí SL4J, jako jsou parametrizované zprávy, nebo jako v našem případě chceme použít přímo log4j2. Pokud je to váš případ, můžete pouze přidat log4j-web závislost. Mimochodem, je to ten, který musíte přidat pro neřestové webové aplikace, podívejte se na více na adrese „Používání log4j ve webových aplikacích“.

Závěr

V této položce jsme se naučili, jak nakonfigurovat Apache Tomcat tak, aby pracoval s log4j2, jak je toto nastavení připravit pro výrobu a jak nasadit aplikaci Spring-Boot na našem serveru Tomcat, která využívá naši konfiguraci. To vše najdete v tomto úložišti GitHub.

Přeji hezký den kódování!

Apache Tomcat 8

Tomcat Home

..Protokolování rámce. .

Chcete-li nakonfigurovat Tomcat tak, aby pro svůj interní protokolování používal alternativní protokolování, musí nahradit implementaci Juli, která je pevně označena pro použití Java.využít.Protokolování implementací Juli, která si zachovává mechanismus objevování přihlašování Commons. Taková implementace je poskytována jako komponenta doplňku. .

  • Použijte jakýkoli protokolovací rámec podle jeho výběru.
  • Použijte API pro protokolování systému, Java.využít.protokolování .
  • Použijte API pro protokolování poskytované specifikací Java Servlets, Javax.Servlet.ServletContext.log (. )

Protokolování rámců používaných různými webovými aplikacemi jsou nezávislé. Další podrobnosti viz načítání třídy. Výjimkou z tohoto pravidla je Java.využít.protokolování . Pokud se používá přímo nebo nepřímo podle vaší protokolování knihovny, pak budou její prvky sdíleny napříč webovými aplikacemi, protože je načten nakladačem třídy systému.

Java protokolování API – Java.využít.protokolování

Apache Tomcat má vlastní implementaci několika klíčových prvků Java.využít.Protokolování API. Tato implementace se nazývá Juli. Klíčovou součástí je vlastní implementace logmanageru, která si je vědoma různých webových aplikací běžících na Tomcat (a jejich různých nakladačů třídy). Podporuje soukromé konfigurace protokolování na aplikaci. To je také informováno, když je webová aplikace vyložena z paměti, takže odkazy na jeho třídy mohou být vyčištěny, což zabrání únikům paměti.

Tato Java.využít.Implementace protokolování je povolena poskytnutím určitých vlastností systému při spuštění Java. Apache Tomcat Startup Scripts to dělá pro vás, ale pokud používáte různé nástroje k provozování Tomcat (jako je JSVC nebo běh Tomcat z IDE), měli byste se o ně postarat sami.

Více podrobností o Javě.využít.Protokolování lze nalézt v dokumentaci pro vaše JDK a na jejích stránkách Javadoc pro Java.využít.Balíček protokolování.

Více podrobností o Tomcat Juli najdete níže.

API pro protokolování servletů

Hovory na Javax.Servlet.ServletContext.log (. ) pro psaní protokolu se zpracovává interním protokolováním Tomcat. Takové zprávy jsou přihlášeny do s názvu kategorie

org.Apache.Catalina.jádro.Kontejnerbase.[$].[$].[$]

Toto protokolování se provádí podle konfigurace protokolování Tomcat. Nemůžete jej přepsat ve webové aplikaci.

API pro protokolování Servletů předchází Java.využít.API pro protokolování, které nyní poskytuje Java. Proto vám nenabízí mnoho možností. E.G., Nemůžete ovládat úrovně protokolu. Lze však poznamenat, že při implementaci Apache Tomcat hovory do servletContext.log (řetězec) nebo genericServlet.log (řetězec) jsou zaznamenány na úrovni informací. Hovory na servletContext.Log (řetězec, házení) nebo genericServlet.Log (řetězec, házení) jsou zaznamenány na závažnou úroveň.

Řídicí panel

Při spuštění Tomcat na Unixes je výstup konzoly obvykle přesměrován na soubor s názvem Catalina.ven . Název je konfigurovatelný pomocí proměnné prostředí. (Viz spouštěcí skripty). Cokoli je napsáno do systému.Err/Out bude zachycen do tohoto souboru. To může zahrnovat:

  • Neochvějné výjimky vytištěné Javou.Lang.Threadgroup.nezachycená výjimka(..)
  • Vypisy vláken, pokud jste je požádali prostřednictvím systémového signálu

Při spuštění jako služba na Windows je výstup konzoly také chycen a přesměrován, ale názvy souborů jsou odlišné.

Výchozí konfigurace protokolování v Apache Tomcat zapíše stejné zprávy do konzoly a do souboru protokolu. To je skvělé při používání Tomcat pro vývoj, ale obvykle není nutné ve výrobě.

Staré aplikace, které stále používají systém.ven nebo systém.Err lze oklamat nastavením atributu Swallowoutput v kontextu. Pokud je atribut nastaven na pravdu, volání na systém.Out/Err během zpracování požadavků bude zachyceno a jejich výstup bude přiváděn do subsystému protokolování pomocí Javax.Servlet.ServletContext.log (. ) volání.
Poznámka, že funkce Swallowowutput je ve skutečnosti trik a má svá omezení. Funguje pouze s přímými voláními na systém.Out/Err a pouze během cyklu zpracování požadavků. Nemusí fungovat v jiných vláknech, která by mohla být vytvořena aplikací. Nelze jej použít k zachycení protokolování rámců, které samy píší do toků systému, protože ty začnou brzy a mohou získat přímý odkaz na proudy před přesměrováním.

Přístup k protokolování přístupu

Přihlášení o přístupu je související, ale jiná funkce, která je implementována jako ventil . Používá samostatnou logiku k psaní svých souborů protokolu. Základním požadavkem na protokolování přístupu je zvládnout velký spojitý proud dat s nízkou režií, takže používá pouze protokolování Apache Commons pro své vlastní debugové zprávy. Tento přístup k implementaci se vyhýbá další režijní a potenciálně složité konfiguraci. Další podrobnosti o její konfiguraci naleznete v dokumentaci ventilů, včetně různých formátů sestav.

Používání Java.využít.protokolování (výchozí)

Výchozí implementace Java.využít.Protokolování poskytované v JDK je příliš omezené na to, aby bylo užitečné. Klíčovým omezením je neschopnost mít protokolování aplikací na web, protože konfigurace je Per-VM. Výsledkem je, že TomC.

Juli podporuje stejné konfigurační mechanismy jako standardní JDK Java.využít.protokolování, pomocí programového přístupu nebo souborů vlastností. Hlavní rozdíl spočívá v tom, že soubory vlastností na třídu mohou být nastaveny (což umožňuje snadnou konfiguraci webového webu, který je přátelský k přemístění) a soubory vlastností podporují rozšířené konstrukty, které umožňují větší svobodu pro definování obsluhy a jejich přiřazení loggerů.

Juli je ve výchozím nastavení povolena a podporuje konfiguraci Classloader, kromě běžné globální Java.využít.Konfigurace protokolování. To znamená, že protokolování lze nakonfigurovat v následujících vrstvách:

  • Globálně. To se obvykle provádí v protokolování $/conf/.soubor vlastností. Soubor je zadán Java.využít.protokolování.konfigurace.vlastnost systému souborů, která je nastavena pomocí spuštění skriptů. Pokud to není čitelné nebo není nakonfigurováno, výchozí je použití $/lib/logging.soubor vlastností v JRE.
  • Ve webové aplikaci. Soubor bude web-inf/třídy/protokolování.vlastnosti

Výchozí protokolování.Vlastnosti v JRE Určuje konzolovou rukáv.chybovat. Výchozí konfnkáři/protokolování.Vlastnosti v Apache Tomcat také přidává několik souborů, které píší do souborů.

Prahová hodnota na úrovni protokolu psovody je ve výchozím nastavení informace a může být nastavena pomocí závažných, varovných, informací, konfigurací, jemných, jemnějších, nejlepších nebo všech. Můžete také zacílit na konkrétní balíčky, abyste mohli shromažďovat protokolování a zadat úroveň A.

Chcete -li povolit protokolování ladění pro část vnitřnosti Tomcat, měli byste nakonfigurovat jak příslušný záznamník, tak vhodné obslužné zařízení, které používají nejlepší nebo všechny úrovně. E.G.:

org.Apache.Catalina.zasedání.Úroveň = všechna java.využít.protokolování.Konzole.úroveň = všechny

Při povolování protokolování ladění se doporučuje, aby bylo povoleno pro nejužší možný rozsah, protože protokolování ladění může generovat velké množství informací.

Konfigurace používaná Juli je stejná jako konfigurace podporovaná Plain Java.využít.Protokolování, ale používá několik prodloužení, aby umožnila lepší flexibilita při konfiguraci protoggerů a manipulátorů. Hlavní rozdíly jsou:

  • Do názvů obsluhy může být přidána předpona, aby mohla být instanezována více obsluhy jedné třídy. Předpona je řetězec, který začíná číslicí a končí ‘.’. Například 22FooBar. je platná předpona.
  • Výměna vlastnosti systému se provádí pro hodnoty vlastností, které obsahují $.
  • Pokud používáte nakladač třídy, který implementuje org.Apache.Juli.Rozhraní WebAppProperties Interface (nakladač webové aplikace Tomcat ano), poté se provedou také výměna vlastnosti za $, $ a $, které jsou nahrazeny názvem webové aplikace, názvem hostitele a názvem služby.
  • Ve výchozím nastavení se protokoloři nebudou delegovat na svého rodiče, pokud mají přidružené obsluhy. To může být změněno na logger pomocí loggername.Použijte vlastnost SPARESTHANDLERS, která přijímá booleovskou hodnotu.
  • Kořenový záznamník může definovat svou sadu obsluhy pomocí .Majetek obsluhy.
  • Ve výchozím nastavení budou soubory protokolu uchovávány na systému souborů navždy. To může být změněno na obsluhy pomocí praktického jména.Maxdays nemovitost. Pokud je zadaná hodnota vlastnosti

Existuje několik dalších tříd implementace, které lze použít společně s těmi, které poskytují Java. Pozoruhodný je org.Apache.Juli.FileHandler .

org.Apache.Juli.FileHandler podporuje vyrovnávání protokolů. Buffering není ve výchozím nastavení povoleno. Chcete -li jej nakonfigurovat, použijte vlastnost BufferSize majetku. Hodnota 0 používá výchozí vyrovnávání systému (obvykle bude použita 8k vyrovnávací paměť). Hodnota 0 používá vyrovnávací výstupy s definovanou hodnotou.

Příklad protokolování.soubor vlastností, který má být umístěn do $ catalina_base/conf:

Handlers = 1catalina.org.Apache.Juli.FileHandler, \ 2localhost.org.Apache.Juli.FileHandler, \ 3Manager.org.Apache.Juli.FileHandler, \ Java.využít.protokolování.Konzole .Handlers = 1catalina.org.Apache.Juli.FileHandler, Java.využít.protokolování.ConsoleHandler ##########################################################Handler Specific Properties. # Popisuje konkrétní informace o konfiguraci pro obsluhy. ########################################################## 1Catalina.org.Apache.Juli.FileHandler.Úroveň = pokuta 1catalina.org.Apache.Juli.FileHandler.adresář = $/protokoly 1catalina.org.Apache.Juli.FileHandler.předpona = catalina. 2localhost.org.Apache.Juli.FileHandler.úroveň = pokuta 2localhost.org.Apache.Juli.FileHandler.adresář = $/protokoly 2localhost.org.Apache.Juli.FileHandler.předpona = localhost. 3Manager.org.Apache.Juli.FileHandler.úroveň = pokuta 3Manager.org.Apache.Juli.FileHandler.adresář = $/protokoly 3Manager.org.Apache.Juli.FileHandler.předpona = manager. 3Manager.org.Apache.Juli.FileHandler.BufferSize = 16384 Java.využít.protokolování.Konzole.úroveň = jemná java.využít.protokolování.Konzole.formater = java.využít.protokolování.SimpleFormatter ##########################################################Zařízení specifické vlastnosti. # Poskytuje další kontrolu pro každý logger. ######################################################### org.Apache.Catalina.jádro.Kontejnerbase.[Catalina].[Localhost].Level = Info Org.Apache.Catalina.jádro.Kontejnerbase.[Catalina].[Localhost].Handlers = \ 2localhost.org.Apache.Juli.FileHandler org.Apache.Catalina.jádro.Kontejnerbase.[Catalina].[Localhost].[/manažer].Level = Info Org.Apache.Catalina.jádro.Kontejnerbase.[Catalina].[Localhost].[/manažer].Handlers = \ 3Manager.org.Apache.Juli.FileHandler # například nastavte org.Apache.Catalina.využít.Logger LifeCycleBase pro protokol # Každá komponenta, která rozšiřuje měnící se stav životního cyklu: #org.Apache.Catalina.využít.LifeCyclebase.

Příklad protokolování.Vlastnosti pro webovou aplikaci Servlet-Příklady, která mají být umístěna do web-inf/třídy uvnitř webové aplikace:

Handlers = org.Apache.Juli.FileHandler, Java.využít.protokolování.ConsoleHandler ##########################################################Handler Specific Properties. # Popisuje konkrétní informace o konfiguraci pro obsluhy. ######################################################### org.Apache.Juli.FileHandler.úroveň = jemná org.Apache.Juli.FileHandler.adresář = $/protokoly org.Apache.Juli.FileHandler.předpona = $. Jáva.využít.protokolování.Konzole.úroveň = jemná java.využít.protokolování.Konzole.formater = java.využít.protokolování.Jednoduchý formát

Odkazy na dokumentaci

  • Apache Tomcat Javadoc pro org.Apache.balíček Juli.
  • Oracle Java 6 Javadoc pro Java.využít.Balíček protokolování.

Úvahy o využití výroby

Možná budete chtít vzít na vědomí následující:

  • Zvažte odebrání konzole z konfigurace. Ve výchozím nastavení (díky .Nastavení obsluhy) Protokolování jde jak na soubory, tak na konzole . Výstup posledně jmenovaného je obvykle zachycen do souboru, jako je Catalina.ven . Skončíte tedy dvěma kopiemi stejných zpráv.
  • Zvažte odstranění souborů SOMEHANDLER S pro aplikace, které nepoužíváte. E.G., ten pro hostitel-manager .
  • Psovoři ve výchozím nastavení používají výchozí kódování systému k zápisu souborů protokolu. Lze jej nakonfigurovat s vlastností kódování. Podrobnosti viz Javadoc.
  • Zvažte konfiguraci přístupového protokolu.

Pomocí log4j

Tato část vysvětluje, jak nakonfigurovat Tomcat, aby používal spíše log4j než Java.využít.Protokolování pro všechny vnitřní protokolování Tomcat.

Poznámka: Kroky popsané v této části jsou nutné, když chcete překonfigurovat Tomcat pro použití Apache Log4j pro vlastní protokolování. Tyto kroky jsou ne potřebné, pokud chcete pouze použít log4j ve své vlastní webové aplikaci. – V tom případě stačí dát log4j.Jar a log4j.Vlastnosti do Web-Inf/lib a web-inf/třídy vaší webové aplikace.

Následující kroky popisují konfiguraci log4j pro výstup Interní protokolování Tomcata.

  1. Vytvořte soubor s názvem Log4J.

 log4j.rootLogger = info, Catalina # Definujte všechny přílohy log4j.Appender.Catalina = org.Apache.log4j.DaiLyryllingFileAppender log4j.Appender.Catalina.File = $/logs/catalina log4j.Appender.Catalina.Append = True Log4J.Appender.Catalina.Concoding = UTF-8 # Roll-Over protokol jednou denně log4j.Appender.Catalina.DatePattern = '.'yyyy-mm-dd'.log 'log4j.Appender.Catalina.rozložení = org.Apache.log4j.PatternLayout log4j.Appender.Catalina.rozložení.KonverzePattern = %d [ %t] %-5p %c- %m %n log4j.Appender.Localhost = org.Apache.log4j.DaiLyryllingFileAppender log4j.Appender.Localhost.File = $/logs/localhost log4j.Appender.Localhost.Append = True Log4J.Appender.Localhost.Kódování = UTF-8 log4j.Appender.Localhost.DatePattern = '.'yyyy-mm-dd'.log 'log4j.Appender.Localhost.rozložení = org.Apache.log4j.PatternLayout log4j.Appender.Localhost.rozložení.KonverzePattern = %d [ %t] %-5p %c- %m %n log4j.Appender.Manager = org.Apache.log4j.DaiLyryllingFileAppender log4j.Appender.MANAŽER.File = $/logs/manager log4j.Appender.MANAŽER.Append = True Log4J.Appender.MANAŽER.Kódování = UTF-8 log4j.Appender.MANAŽER.DatePattern = '.'yyyy-mm-dd'.log 'log4j.Appender.MANAŽER.rozložení = org.Apache.log4j.PatternLayout log4j.Appender.MANAŽER.rozložení.KonverzePattern = %d [ %t] %-5p %c- %m %n log4j.Appender.Hostitel-manager = org.Apache.log4j.DaiLyryllingFileAppender log4j.Appender.Hostitel-manager.File = $/logs/hostitel-manager log4j.Appender.Hostitel-manager.Append = True Log4J.Appender.Hostitel-manager.Kódování = UTF-8 log4j.Appender.Hostitel-manager.DatePattern = '.'yyyy-mm-dd'.log 'log4j.Appender.Hostitel-manager.rozložení = org.Apache.log4j.PatternLayout log4j.Appender.Hostitel-manager.rozložení.KonverzePattern = %d [ %t] %-5p %c- %m %n log4j.Appender.Konzole = org.Apache.log4j.ConsoleAppender Log4J.Appender.ŘÍDICÍ PANEL.Kódování = UTF-8 log4j.Appender.ŘÍDICÍ PANEL.rozložení = org.Apache.log4j.PatternLayout log4j.Appender.ŘÍDICÍ PANEL.rozložení.ConverrionPattern = %d [ %t] %-5p %c- %m %n # nakonfigurujte, které protokolíky protokolu, ke kterému připojení log4j.Logger.org.Apache.Catalina.jádro.Kontejnerbase.[Catalina].[localhost] = info, localhost log4j.Logger.org.Apache.Catalina.jádro.Kontejnerbase.[Catalina].[Localhost].[/manager] = \ info, manažer log4j.Logger.org.Apache.Catalina.jádro.Kontejnerbase.[Catalina].[Localhost].[/hostitel-manager] = \ info, hostitel-manager

  1. Stáhnout Log4J (Tomcat vyžaduje V1.2.X).
  2. Stáhněte si nebo sestavte Tomcat-Juli.Jar a Tomcat-juli-adaptéry.nádoba, která je k dispozici jako součást „doplňků“ pro Tomcat. Podrobnosti naleznete v dokumentaci dalších komponent. Tento tomcat-juli.nádoba se liší od výchozího. Obsahuje plnou implementaci protokolování Apache Commons, a proto je schopen objevit přítomnost log4j a nakonfigurovat se sám.
  3. Pokud chcete nakonfigurovat Tomcat tak, aby používal log4j globálně:
    • Dejte log4j.Jar a Tomcat-juli-adaptéry.Jar z “Extras” do $ catalina_home/lib .
    • Nahraďte $ catalina_home/bin/tomcat-juli.Jar s Tomcat-Juli.Jar z “Extras”.
  4. Pokud provozujete Tomcat se samostatnými $ catalina_home a $ catalina_base a chcete nakonfigurovat tak, aby používal log4j pouze v jednom $ catalina_base:
    • Vytvořte $ catalina_base/bin a $ catalina_base/lib adresáře, pokud neexistují.
    • Dejte log4j.Jar a Tomcat-juli-adaptéry.Jar z “Extras” do $ catalina_base/lib
    • Dejte Tomcat-Juli.Jar z “Extras” jako $ catalina_base/bin/tomcat-juli.sklenice
    • Pokud běžíte se správcem zabezpečení, musíte upravit $ catalina_base/conf/catalina.Soubor politiky pro jeho upravení na použití jiné kopie Tomcat-Juli.sklenice.

Poznámka: Funguje to proto, že knihovny, pokud existují v $ catalina_base, jsou načteny přednostně se stejnou knihovnou v $ catalina_home .

Poznámka: Tomcat-Juli.Jar je načten z $ catalina_base /bin ne $ catalina_base /lib, protože je načten jako součást procesu bootstrapu a všechny třídy bootstrapu jsou načteny z bin.

Tato konfigurace log4j odráží výchozí Java.využít.Nastavení protokolování, které se dodává s Tomcat: Aplikace pro správce i hostitel-manager získávají individuální soubor protokolu a všechno ostatní jde do „Catalina.Protokol “Protokol soubor. Každý soubor je převrácen jednou denně.

Můžete (a měli byste) být vybíravější o tom, které balíčky zahrnují do protokolování. Tomcat definuje protokoly podle názvů motoru a hostitele. Například pro podrobnější protokol Catalina Localhost to přidejte na konec log4j.Vlastnosti výše. Všimněte si, že existují známé problémy s používáním této konvence pojmenování (s hranami) v konfiguračních souborech založených na log4j XML, takže doporučujeme použít soubor vlastností, jak je popsáno, dokud budoucí verze log4j neumožňuje tuto konvenci.

log4j.Logger.org.Apache.Catalina.jádro.Kontejnerbase.[Catalina].[localhost] = debug log4j.Logger.org.Apache.Catalina.core = debug log4j.Logger.org.Apache.Catalina.Session = debug

Upozorňujeme: Úroveň ladění vytvoří megabajty při protokolování a pomalé spuštění Tomcat. Tato úroveň by měla být používána střídmě, když je nutné ladění vnitřních operací Tomcat.

Vaše webové aplikace by měly určitě používat vlastní konfiguraci log4j. To je platné s výše uvedená konfigurace. Umístili byste podobný log4j.Vlastnosti souboru v adresáři web-inf/třídy webové aplikace a log4jx.y.z.Jar do web-inf/lib. Poté zadejte protokolování úrovně balíčku. Jedná se o základní nastavení log4j, které * nevyžaduje * spolupráci, a měli byste se poradit s dokumentací Log4J pro více možností. Tato stránka je určena pouze jako průvodce bootstrappingem.

  • To vystavuje knihovny log4j webovým aplikacím prostřednictvím běžného třídy. Podrobnosti viz dokumentace načítání třídy. Z tohoto důvodu budou webové aplikace a knihovny používající knihovnu Apache Commons protokolování pravděpodobně automaticky zvolit Log4J jako základní implementaci protokolování.
  • Java.využít.API pro protokolování je stále k dispozici pro ty webové aplikace, které jej používají přímo. $/Conf/protokolování.Soubor vlastností je stále odkazován na spouštěcí skripty Tomcat. Další informace naleznete v pododdílech úvodu na tuto stránku. Odstranění $/conf/protokolování.Soubor vlastností, zmíněný jako jeden z výše uvedených kroků, způsobuje Java..Přihlášení k záloze do výchozí konfigurace pro JRE, která je používat konzole a proto vytvářet žádné standardní soubory protokolu. Měli byste potvrdit, že všechny vaše soubory protokolu jsou vytvářeny pomocí log4j před deaktivace standardního mechanismu.
  • The Ventile protokolu přístupu a ExtendedAccessLogValve Použijte svou vlastní implementaci protokolování samostatně, takže oni nelze nakonfigurovat tak, aby používal log4j. Podrobnosti o konfiguraci naleznete ve ventilech.

Komentáře

Oznámení: Tato část komentářů shromažďuje vaše návrhy na zlepšení dokumentace pro Apache Tomcat.

Pokud máte potíže a potřebujete pomoc, přečtěte si stránku Najít stránku nápovědy a položte svou otázku v seznamu e-mailů Tomcat-Users. Nepokládejte zde takové otázky. Toto není sekce otázek a odpovědí.

Systém komentářů Apache je vysvětlen zde. Komentáře mohou být odstraněny našimi moderátory, pokud jsou buď implementováni nebo považováni za neplatné/mimo téma.

Konfigurace Tomcat Log4J krok za krokem

Server Apache Tomcat J2EE

Juli protokolování knihovny a konfigurace jsou ve výchozím nastavení k dispozici s instalačním programem Tomcat. Chcete-li místo toho použít Log4J pro interní protokolování Tomcat, budete muset nahradit stávající knihovnu Juli Integration log4j-juli.

1. Odstraňte stávající knihovnu Juli (catalina_home/bin/tomcat-juli.soubor JAR) a stávající konfigurační soubor protokolování Tomcat Java (Catalina_home/Conf/Logging.vlastnosti).

2. Stáhněte si knihovnu juli log4j Tomcat (Tomcat-Juli.Jar) ze stažení Tomcat’ Sekce Extras (http: // Tomcat.Apache.org/stahování-70.CGI). Umístěte stažený soubor do adresáře catalina_home/bin.

3. Stáhněte si knihovnu adaptérů Tomcat Juli (Tomcat-Juli-Adapters.Jar) ze stažení Tomcat’ Sekce doplňků. Umístěte tento soubor do adresáře catalina_home/lib.

4. Stáhnout Log4J (verze 1.2 nebo později) a umístěte stažený soubor knihovny do adresáře Catalina_Home/lib.

5. Vytvořte konfigurační soubor Log4J na následujícím místě: Catalina_home/lib/log4j.vlastnosti. Zkontrolujte níže log4j konfigurace odpovídající výchozí konfiguraci protokolování Java.

6. Restartujte Tomcat.

Konfigurační soubor Log4J odpovídající výchozí nastavení protokolování Tomcat:

log4j.rootLogger = info, Catalina # Definujte všechny přílohy log4j.Appender.Catalina = org.Apache.log4j..Appender.Catalina.File = $/logs/catalina. log4j.Appender.Catalina.Append = True Log4J.Appender.Catalina.Concoding = UTF-8 # Roll-Over protokol jednou denně log4j.Appender.Catalina.DatePattern = '.'yyyy-mm-dd'.log 'log4j.Appender.Catalina.rozložení = org.Apache.log4j.PatternLayout log4j.Appender.Catalina.rozložení..Appender.Localhost = org.Apache.log4j.DaiLyryllingFileAppender log4j.Appender.Localhost.File = $/logs/localhost. log4j.Appender.Localhost.Append = True Log4J..Localhost.Kódování = UTF-8 log4j.Appender.Localhost.DatePattern = '.'yyyy-mm-dd'.log 'log4j.Appender.Localhost.rozložení = org.Apache.log4j.PatternLayout log4j.Appender.Localhost.rozložení.KonverzePattern = %d [ %t] %-5p %c- %m %n log4j.Appender.Manager = org.Apache.log4j.DaiLyryllingFileAppender log4j.Appender.MANAŽER.File = $/protokoly/správce. log4j.Appender.MANAŽER.Append = True Log4J..MANAŽER.Kódování = UTF-8 log4j.Appender.MANAŽER.DatePattern = '.'yyyy-mm-dd'.log 'log4j.Appender.MANAŽER.rozložení = org.Apache.log4j..Appender.MANAŽER.rozložení.KonverzePattern = %d [ %t] %-5p %c- %m %n log4j.Appender.Hostitel-manager = org.Apache.log4j.DaiLyryllingFileAppender log4j.Appender.Hostitel-manager.File = $/protokoly/hostitel-manager. log4j.Appender.Hostitel-manager.Append = True Log4J.Appender.Hostitel-manager.Kódování = UTF-8 log4j.Appender.Hostitel-manager.DatePattern = '.'yyyy-mm-dd'.log 'log4j.Appender.Hostitel-manager.rozložení = org.Apache.log4j.PatternLayout log4j.Appender.Hostitel-manager.rozložení.KonverzePattern = %d [ %t] %-5p %c- %m %n log4j.Appender.Konzole = org.Apache.log4j.ConsoleAppender Log4J.Appender..Kódování = UTF-8 log4j.Appender.ŘÍDICÍ PANEL.rozložení = org.Apache.log4j.PatternLayout log4j.Appender.ŘÍDICÍ PANEL.rozložení.ConverrionPattern = %d [ %t] %-5p %c- %m %n # nakonfigurujte, které protokolíky protokolu, ke kterému připojení log4j.Logger.org.Apache.Catalina.jádro.Kontejnerbase.[Catalina].[localhost] = info, localhost log4j.Logger.org.Apache.Catalina.jádro.Kontejnerbase.[Catalina].[Localhost].[/manager] = info, manažer log4j.Logger.org.Apache.Catalina.jádro.Kontejnerbase.[Catalina].[Localhost].[/hostitel-manager] = info, hostitel-manager

Tomcat nyní použije log4j pro veškerou interní protokolování.

Chcete -li porozumět výše uvedené konfiguraci, zkontrolujte níže uvedené podrobnosti a získejte jasný pohled

Konfigurační prvky pro log4j’S Patternayout

%d Datum protokolování. Vzorec data můžete zadat v kudrnatých závorkách ( %d) %C Plně kvalifikovaný název třídy (použití %C k tisku pouze jednoduchého názvu třídy) %T název vlákna, kde došlo k protokolování %f název souboru protokolování %p protokolování úrovně L řádek Číslo logningu %M. Skutečná protokolovací zpráva

Zde jsou některé příklady vzorů a položky protokolu, které vygenerovaly:

%d [ %t] %-5p %c- %m %n 2011-09-07 14: 07: 41,509 [hlavní] informace myntclass-provedení.

%5p [%t] (%F:%L) -%M%n Info [hlavní] (myntclass.Java: 12) - provedení.

Pro více informací o pokladně Log4J níže odkaz:

http: // protokolování.Apache.org/log4j/index.html

V případě jakéhokoli problému © © Copyright nebo chybějící kredity prosím zkontrolujte stránka pro autorská práva pro rychlejší rozlišení.

Jako článek. Sdílej to.

  • Kliknutím pro tisk (otevře se v novém okně)
  • Kliknutím e -mailem odkaz na přítele (otevře se v novém okně)
  • Kliknutím sdílíte Reddit (otevře se v novém okně)
  • Kliknutím sdílíte na Pinterestu (otevře se v novém okně)
  • Kliknutím sdílejte na LinkedIn (otevře se v novém okně)
  • Kliknutím sdílejte na WhatsApp (otevře se v novém okně)
  • Kliknutím sdílíte na Twitteru (otevře se v novém okně)
  • Kliknutím sdílíte na Facebooku (otevře se v novém okně)
  • Kliknutím sdílíte Tumblr (otevře se v novém okně)
  • Kliknutím sdílejte na kapse (otevře se v novém okně)
  • Kliknutím sdílejte na telegramu (otevře se v novém okně)
  • Kliknutím sdílejte na Skype (otevře se v novém okně)

How-to: Nakonfigurujte Tomcat 9 tak, aby se protokol přes log4j2

Jak můžete přesměrovat vnitřní protokolování Tomcat 9 (Catalina a Localhost) na log4j2? I když existuje mnoho průvodců pro starší verze Tomcat a Log4J, nemohl jsem najít nic „úplného“ ohledně Tomcat 9 a Log4J2; Dokumentace Apache Tomcat 9 ukazuje na „pokyny poskytnuté alternativním protokolováním“ a uvádí dokumentaci Apache Log4J (názvy jar ve 2. opraveno):

  1. Vytvoření sady adresářů v domě Catalina s názvem log4j2/lib a log4j2/conf.
  2. Umístění log4j-api-2.12.0.Jar, log4j-core-2.12.0.Jar a Log4J-AppServer-2.12.0.Jar v adresáři log4j2/lib.
  3. Vytvoření souboru s názvem log4j2-tomcat.XML, log4j2-tomcat.JSON, log4j2-tomcat.YAML, log4j2-tomcat.yml nebo log4j2-tomcat.Vlastnosti v adresáři log4j2/conf.
  4. Vytvořte nebo upravujte SETENV.SH v adresáři Tomcat Bin pro zahrnutí classPath = $ catalina_home/log4j2/lib/*: $ catalina_home/log4j2/conf

Ale co vložit do tohoto log4j2-tomcat.* Konfigurační soubor?

Na otázku 5. července 2019 ve 12:33

682 1 1 zlatý odznak 6 6 Silver odznaky 17 17 Bronzové odznaky

2 odpovědi 2

Našel jsem vzorové vlastnosti v dokumentaci Apache Tomcat 7, ale protože je to určeno pro použití s ​​log4j 1.x, musel jsem ji přizpůsobit syntaxi souboru log4j2 vlastností. To je výsledek:

# 'Stav' odkazuje na protokolové zprávy z log4J2 samotného monitorInterval = 30 Stav = WARN VLASTNOSTI.leglevel.Catalina = Info vlastnost.leglevel.localhost = info vlastnost.LayoutPattern.Catalina = %d %-5p [ %t] %-22.22c %M %n Vlastnost.LayoutPattern.localhost = %d %-5p [ %t] %-30.30C %M %N # Roll-Over protokoly jednou za měsíc pomocí CrontriggerPolicy. vlastnictví.FileDatePattern.Catalina = %d Vlastnost.FileDatePattern.LOCALHost = %D Vlastnost.Crontriggerschedule.Catalina = 0 0 0 1 * ? vlastnictví.Crontriggerschedule.localhost = 0 0 0 1 * ? ## Appenders # N.B.: - není třeba specifikovat „Appenders = Catalina, Localhost, Console“ # Protože tyto identifikátory neobsahují '.' postavy. # - „Politiky“ a „Cron“ sub -komponentních identifikátorů jsou libovolně vybrány; Skutečný typ je specifikován prostřednictvím atributu „typu“. # - „DirectWriteriterolloverStrategy“ se používá automaticky, protože není zadán žádný „název souboru“. Appender.Catalina.Typ = RollingFile Appender.Catalina.Name = RollingFile-Catalina Appender.Catalina.FilePattern = $/logs/catalina.$.Protokol Appender.Catalina.rozložení.type = vzorylayout Appender.Catalina.rozložení.Pattern = $ Appender.Catalina.opatření.typ = politiky Appender.Catalina.opatření.Cron.Typ = CrontriggeringPolicy Appender.Catalina.opatření.Cron.Schedule = $ appender.Catalina.opatření.Cron.EvaluateOnStartup = True Appender.Catalina.Filepermissions = RW-R ----- Appender.Catalina.File Majitel = Tomcat Appender.Catalina.FileGroup = ADM APPENDER.Localhost.Typ = RollingFile Appender.Localhost.Name = RollingFile-localhost Appender.Localhost.FilePattern = $/logs/localhost.$.Protokol Appender.Localhost.rozložení.type = vzorylayout Appender.Localhost.rozložení.Pattern = $ Appender.Localhost.opatření.typ = politiky Appender.Localhost.opatření.Cron.Typ = CrontriggeringPolicy Appender.Localhost.opatření.Cron.Schedule = $ appender.Localhost.opatření.Cron.EvaluateOnStartup = True Appender.Localhost.Filepermissions = RW-R ----- Appender.Localhost.File Majitel = Tomcat Appender.Localhost.filegroup = adm # untomment Pokud chcete pokračovat přihlašováním do Cataliny.po převzetí log4j2. #Appeder.ŘÍDICÍ PANEL.typ = konzola #appender.ŘÍDICÍ PANEL.name = stdout #appender.ŘÍDICÍ PANEL.rozložení.Type = PatternLayout ## Nakonfigurujte, které protokolíky protokolu.úroveň = $ rootlogger.AppenderRef.Catalina.Ref = RollingFile-Catalina #rootlogger.AppenderRef.stdout.ref = stdout # zde identifikátor obsahuje '.'znaky, takže musíme zadat seznam. Loggery = org.Apache.Catalina.jádro.Kontejnerbase.[Catalina].[Localhost] Logger.org.Apache.Catalina.jádro.Kontejnerbase.[Catalina].[Localhost].name = localhost logger.org.Apache.Catalina.jádro.Kontejnerbase.[Catalina].[Localhost].Level = $ logger.org.Apache.Catalina.jádro.Kontejnerbase.[Catalina].[Localhost].AppenderRef.Localhost.Ref = RollingFile-localhost 

Hlavním důvodem, proč mě používat log4j2, bylo být schopen získat měsíční rotaci protokolu, ale můžete snadno upravit vše, jak se vám líbí, i bez restartování Tomcat.