Tavaszi csomagtartó beágyazott Tomcat naplók
1. Bemutatkozás
A Spring Boot egy beágyazott Tomcat szerverrel érkezik, ami nagyon hasznos. Alapértelmezés szerint azonban nem láthatjuk Tomcat naplóit.
Ebben az oktatóanyagban megtanuljuk, hogyan kell konfigurálja a Tavaszi indítást úgy, hogy megjelenítse a Tomcat belső és hozzáférési naplóit játékalkalmazás útján.
2. Minta alkalmazás
Először hozzunk létre egy REST API-t. Meghatározzuk a GreetingsController üdvözölni a felhasználót:
@GetMapping ("/ greetings / {felhasználónév}") public String getGreetings (@PathVariable ("felhasználónév") String userName) {return "Hello" + userName + ", Jó napot ... !!!"; }
3. Tomcat Naplótípusok
A beágyazott Tomcat kétféle naplót tárol:
- Hozzáférési naplók
- Belső szerver naplók
A hozzáférési naplók nyilvántartást vezet az alkalmazás által feldolgozott összes kérelemről. Ezeket a naplókat fel lehet használni nyomon követheti az olyan dolgokat, mint az oldalak száma és felhasználói munkamenet-tevékenység. Ellentétben, belső szerver naplók segít a futó alkalmazás bármilyen problémájának elhárításában.
4. Hozzáférési naplók
Alapértelmezés szerint a hozzáférési naplók nincsenek engedélyezve.
Könnyen engedélyezhetjük őket, ha hozzáadunk egy tulajdonságot alkalmazás.tulajdonságok:
server.tomcat.accesslog.enabled = true
Hasonlóképpen használhatunk virtuális gép argumentumokat is a hozzáférési naplók engedélyezéséhez:
java -jar -Dserver.tomcat.basedir = tomcat -Dserver.tomcat.accesslog.enabled = true app.jar
Ezek a naplófájlok egy ideiglenes könyvtárban jönnek létre. Például Windows rendszeren a hozzáférési naplók könyvtárának valami hasonló lesz AppData \ Local \ Temp \ tomcat.2142886552084850151.40123 \ logs
4.1. Formátum
Tehát, ha engedélyezve van ez a tulajdonság, akkor valami hasonlót látunk a futó alkalmazásunkban:
0: 0: 0: 0: 0: 0: 0: 1 - - [13 / május / 2019: 23: 14: 51 +0530] "GET / üdvözlet / Harry HTTP / 1.1" 200 27 0: 0: 0: 0: 0: 0: 0: 1 - - [13 / május / 2019: 23: 17: 23 +0530] "GET / üdvözlet / Harry HTTP / 1.1" 200 27
Ezek a hozzáférési naplók, és a következő formátumúak:
% h% l% u% t \ "% r \"%> s% b
Amit úgy értelmezhetünk:
% h - a kérést elküldő kliens IP, 0:0:0:0:0:0:0:1 ebben az esetben
% l - a felhasználó kiléte
% u - a HTTP-hitelesítéssel meghatározott felhasználónév
% t - a kérelem beérkezésének időpontja
% r - az ügyfél kérési sora, GET / üdvözlet / Harry HTTP / 1.1 ebben az esetben
%> s - a szerverről az ügyfélnek elküldött állapotkód, mint a 200 itt
% b - az ügyfélnek adott válasz nagysága, vagy 27 ezekre a kérésekre
Mivel ennek a kérésnek nem volt hitelesített felhasználója, % l és% u nyomtatott kötőjelek.
Valójában, ha bármilyen információ hiányzik, a Tomcat kötőjelet nyomtat az adott nyíláshoz.
4.2. Hozzáférési naplók testreszabása
Néhány tulajdonság hozzáadásával felülírhatjuk az alapértelmezett Spring Boot konfigurációt alkalmazás.tulajdonságok.
Először az alapértelmezett naplófájl nevének megváltoztatása:
server.tomcat.accesslog.suffix = .log server.tomcat.accesslog.prefix = access_log server.tomcat.accesslog.file-date-format = .yyyy-MM-dd
Megváltoztathatjuk a naplófájlok helyét is:
server.tomcat.basedir = tomcat server.tomcat.accesslog.directory = naplók
Végül felülírhatjuk a naplók beírását a naplófájlba:
server.tomcat.accesslog.pattern = gyakori
Van még néhány konfigurálható tulajdonság a Spring Boot-ban is.
5. Belső naplók
A Tomcat szerver belső naplói nagyon hasznosak a szerver oldali problémák megoldásában.
Ezen naplók megtekintéséhez hozzá kell adnunk az alábbi naplózási konfigurációt: alkalmazás.tulajdonságok:
logging.level.org.apache.tomcat = DEBUG logging.level.org.apache.catalina = DEBUG
És akkor valami ilyesmit fogunk látni:
2019-05-17 15: 41: 07.261 DEBUG 31160 --- [0124-Acceptor-0] o.apache.tomcat.util.threads.LimitLatch: Összeszámlálás [http-nio-40124-Acceptor-0] retesz = 1 2019-05-17 15: 41: 07.262 DEBUG 31160 --- [0124-Acceptor-0] o.apache.tomcat.util.threads.LimitLatch: Számlálás [http-nio-40124-Acceptor-0] retesz = 2 2019-05-17 15: 41: 07.278 DEBUG 31160 --- [io-40124-exec-1] org.apache.tomcat.util.modeler.Registry: Managed = Tomcat: type = RequestProcessor, worker = "http-nio -40124 ", name = HttpRequest1 ... 2019-05-17 15: 41: 07.279 HIBAKeresés 31160 --- [io-40124-exec-1] mmMbeansDescriptorsIntrospectionSource: Felügyelt attribútum virtualHost public java.lang.String org.apache. coyote.RequestInfo.getVirtualHost () null ... 2019-05-17 15: 41: 07.280 DEBUG 31160 --- [io-40124-exec-1] oatomcat.util.modeler.BaseModelMBean: preRegister [email protected] Tomcat : type = RequestProcessor, worker = "http-nio-40124", name = HttpRequest1 2019-05-17 15: 41: 07.292 DEBUG 31160 --- [io-40124-exec-1] org.apache.tomcat.util. http.Paraméterek: Állítsa be a várólistát ry sztring kódolás UTF-8-hoz 2019-05-17 15: 41: 07.294 DEBUG 31160 --- [io-40124-exec-1] oatutil.http.Rfc6265CookieProcessor: Cookie-k: Parsing b []: jenkins-timestamper-offset = -19800000 2019-05-17 15: 41: 07.296 DEBUG 31160 --- [io-40124-exec-1] oacauthenticator.AuthenticatorBase: Biztonsági ellenőrzési kérelem GET / üdvözlet / Harry 2019-05-17 15: 41: 07.296 DEBUG 31160 --- [io-40124-exec-1] org.apache.catalina.realm.RealmBase: Nincsenek meghatározva alkalmazható korlátozások
6. Következtetés
Ebben a rövid cikkben megtudtuk a különbséget a Tomcat belső és hozzáférési naplói között. Aztán láttuk, hogyan lehet ezeket engedélyezni és testre szabni.
Ügyeljen arra, hogy ellenőrizze a mintát a GitHubon.