Zum Inhalt springen
_CORE
AI & Agentic Systems Core Information Systems Cloud & Platform Engineering Data Platform & Integration Security & Compliance QA, Testing & Observability IoT, Automation & Robotics Mobile & Digital Banking & Finance Insurance Public Administration Defense & Security Healthcare Energy & Utilities Telco & Media Manufacturing Logistics & E-commerce Retail & Loyalty
Referenzen Technologien Blog Know-how Tools
Über uns Zusammenarbeit Karriere
CS EN DE
Lassen Sie uns sprechen

Logovani v Java aplikacich — best practices

25. 06. 2013 1 Min. Lesezeit CORE SYSTEMSdevelopment
Logovani v Java aplikacich — best practices

Spravne nastavene logovani je rozdil mezi hodinovym debugovanim a petuminutovou diagnostikou. Spatne logovani je bud prilis (tisice radku za sekundu, ktere nikdo necte) nebo prilis malo (CHYBA — nic vic).

SLF4J jako fasada

SLF4J (Simple Logging Facade for Java) odstinuje vas kod od konkretni logovaci implementace. V produkci pouzivate Log4j, na test Logback — kod se nemeni. Vzdy logujte pres SLF4J, nikdy primo pres Log4j API.

Log levely — pravidla

ERROR: neco selhalo a vyzaduje zasah (databaze nedostupna, externi sluzba neodpovida). WARN: neco je podezrele, ale aplikace pokracuje (deprecated API, blizi se limit). INFO: vyznamne business udalosti (uzivatel se prihlasil, objednavka vytvorena). DEBUG: detaily pro vyvojare (SQL dotazy, HTTP hlavicky). Na produkci INFO a vyse, na dev DEBUG.

MDC — Mapped Diagnostic Context

Kazdy log radek by mel obsahovat: cas, thread, level, logger, message — a taky uzivatelske jmeno, session ID, request ID. MDC to resi: na zacatku requestu vlozite userId do MDC, kazdy log radek ho automaticky obsahuje. Neocenitelne pri hledani problemu konkretniho uzivatele.

Rotace a retence

DailyRollingFileAppender: novy soubor kazdy den. Retence 30 dni. Maximalni velikost 100 MB per soubor (RollingFileAppender). Komprese starych logu (gzip). Na produkci NIKDY logujte do stdout — pouzijte FileAppender.

Centralni sber

S 20 servery je cteni logu na kazdem serveru zvlast neprakticke. Rsyslog/syslog-ng pro centralni sber na log server. Hledame reseni pro full-text search v lozich — zatim grep, ale neska’luje.

Pravidla

  1. SLF4J fasada. 2. Spravne log levely. 3. MDC pro kontext. 4. Rotace a retence. 5. Logujte co, ne jak (vysledek operace, ne kazdy radek kodu).
log4jslf4jloggingjava
Teilen:

CORE SYSTEMS

Stavíme core systémy a AI agenty, které drží provoz. 15 let zkušeností s enterprise IT.

Brauchen Sie Hilfe bei der Implementierung?

Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.

Kontaktieren Sie uns