{"id":10018,"date":"2022-01-18T15:59:34","date_gmt":"2022-01-18T14:59:34","guid":{"rendered":"https:\/\/vived.io\/jvm-tuesday-vol-72-java-w-2022-pisanie-bibliotek-java-system-logger\/"},"modified":"2024-03-25T16:24:27","modified_gmt":"2024-03-25T15:24:27","slug":"jvm-tuesday-vol-72-java-w-2022-pisanie-bibliotek-java-system-logger","status":"publish","type":"post","link":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-72-java-w-2022-pisanie-bibliotek-java-system-logger\/","title":{"rendered":"JVM Tuesday vol. 72 \u2013 Java w 2022, Pisanie Bibliotek, Java System Logger"},"content":{"rendered":"\n<h2 id=\"1-co-bedzie-sie-dzialo-w-javie-w-tym-roku\" data-num=1>1. Co b\u0119dzie si\u0119 dzia\u0142o w Javie w tym roku?<\/h2>\n\n\n\n<p>W 2022 weszli\u015bmy ju\u017c pe\u0142n\u0105 par\u0105 i zako\u0144czyli\u015bmy chyba na dobr\u0119 czas podsumowywania 2021 &#8211; czas spojrze\u0107 w przysz\u0142o\u015b\u0107.&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/www.youtube.com\/watch?v=4Y3LijiBxRA\"><img decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88c6571f6d.png\" alt=\"\"\/><\/a><figcaption class=\"wp-element-caption\">Kliknij w obrazek, by otworzy\u0107 wideo<\/figcaption><\/figure><\/div>\n\n\n<p>A ta maluje si\u0119 interesuj\u0105co, cho\u0107 nie spodziewajcie si\u0119 jakiej\u015b wielkiej rewolucji. Nicolai Parlog przygotowa\u0142 bowiem w <a href=\"https:\/\/www.youtube.com\/watch?v=4Y3LijiBxRA\">swoim wideo<\/a> oraz <a href=\"https:\/\/nipafx.dev\/inside-java-newscast-18\/\">artykule<\/a> swoisty \u201cStatus Update\u201d czterech najistotniejszych projekt\u00f3w Javowych &#8211; Valhalla, Panama, Loom i Amber. Uwielbiam tego typu sumaryzacj\u0119, poniewa\u017c czytaj\u0105c jeden tekst jeste\u015bmy w stanie (cho\u0107 do\u015b\u0107 pobie\u017cnie) zorientowa\u0107 si\u0119 w kierunku, w kt\u00f3rym idzie JVM. Nicolai \u015bwietnie orientuje si\u0119 te\u017c w planach tw\u00f3rc\u00f3w Javy, dlatego jest to te\u017c idealne miejsce, \u017ceby dowiedzie\u0107 si\u0119 np. co takiego zobaczymy w ramach Amber ju\u017c po wprowadzeniu Pattern Matchingu. Dzi\u0119ki temu rzeczywi\u015bcie mo\u017cna mniej wi\u0119cej przewidzie\u0107, jakich zmian spodziewa\u0107 si\u0119 nale\u017cy w przysz\u0142ym roku.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88c6adf56c.gif\" alt=\"\"\/><\/figure><\/div>\n\n\n<p>Dla mnie powy\u017csze podsumowanie jest dosy\u0107 symptomatyczne, je\u015bli chodzi o ukazanie tempa rozwoju JVMa. Z jednej strony w ekosystemie dzieje si\u0119 wiele (powy\u017csza czw\u00f3rka to absolutnie nie jedyne projekty w ramach JVM, \u017ceby wspomnie\u0107 tutaj o wydanym jesieni\u0105 Lanai), jednak od paru lat to w\u0142a\u015bnie powy\u017csza czw\u00f3rka to swoiste konie poci\u0105gowe ca\u0142ej platformy, kt\u00f3re posuwaj\u0105 do przodu ca\u0142y ekosystem. Ich wdro\u017cenie to proces ci\u0105g\u0142y i podejrzewam, \u017ce zostan\u0105 z nami jeszcze przez par\u0119 lat, chocia\u017c cieszy, \u017ce rok 2021 przyni\u00f3s\u0142 ju\u017c bardziej skonkretyzowane JEPy do takiej Valhalli i Looma. \u015aledz\u0105c jednak ich rozw\u00f3j od paru lat (a konkretnie ju\u017c od 2014 roku), jestem szalenie ciekawy tego, co wydarzy si\u0119, gdy \u201cWielka Czw\u00f3rka\u201d zostanie wdro\u017cona i jak czy s\u0105 ju\u017c jakie\u015b plany na Jav\u0119 2030.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142a<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=4Y3LijiBxR\">https:\/\/www.youtube.com\/watch?v=4Y3LijiBxR<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/nipafx.dev\/inside-java-newscast-18\/\">Java&#8217;s Plans for 2022 &#8211; Inside Java Newscast #18<\/a><\/li>\n<\/ul>\n\n\n\n<h2 id=\"2-jakie-decyzje-podejmuja-tworcy-bibliotek-w-2022\" data-num=2>2. Jakie decyzje podejmuj\u0105 tw\u00f3rcy bibliotek w 2022?<\/h2>\n\n\n\n<p>Kiedy\u015b to by\u0142y czasy, teraz nie ma czas\u00f3w.&nbsp;<\/p>\n\n\n\n<p>Porozmawiali\u015bmy sobie o wszystkich zmianach, jakich Java doczeka\u0107 si\u0119 ma jeszcze w roku 2022, ale nie zmienia to faktu, \u017ce mamy do czynienia z do\u015b\u0107 stabilnym ekosystemem programistycznym. Nie da si\u0119 jednak ukry\u0107, \u017ce kilka ostatnich lat tchn\u0119\u0142o nieco \u201c\u017cycia\u201d w platform\u0119, co jest na sw\u00f3j spos\u00f3b ekscytuj\u0105ce dla programist\u00f3w. Jednocze\u015bnie jednak okazuje si\u0119, \u017ce dla tw\u00f3rc\u00f3w bibliotek nowa sytuacja wprowadza pewne komplikacje.&nbsp;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88c6c342fd.gif\" alt=\"\"\/><\/figure><\/div>\n\n\n<p>Jakie? W dog\u0142\u0119bny spos\u00f3b (ze wzgl\u0119du na szat\u0119 graficzn\u0105 i styl, pocz\u0105tkowo my\u015bla\u0142em, \u017ce mamy do czynienia z postem @shipileva) przygl\u0105da si\u0119 im w swoim artykule Michael Simons z neo4j, opisuj\u0105c proces decyzyjny stoj\u0105cy za powstaniem Neo4j-Migrations. Ca\u0142o\u015b\u0107 to frapuj\u0105ca lektura, poniewa\u017c okazuje si\u0119, \u017ce w 2022 roku ilo\u015b\u0107 mikro decyzji do podj\u0119cia jest zaskakuj\u0105co du\u017ca. Wychodz\u0105c poza standardowe dywagacje Maven vs Gradle, zastanowi\u0107 si\u0119 przyk\u0142adowo trzeba, jak\u0105 minimaln\u0105 wersj\u0119 JVMa chcemy wspiera\u0107 &#8211; decyzja ta implikuje r\u00f3wnie\u017c r\u00f3\u017cne mo\u017cliwe podej\u015bcia do JPMSa. Z ty\u0142u g\u0142owy nale\u017cy mie\u0107 r\u00f3wnie\u017c rosn\u0105c\u0105 popularno\u015b\u0107 GraalVM, kt\u00f3ry rz\u0105dzi si\u0119 swoimi w\u0142asnymi prawami, Ca\u0142o\u015b\u0107 wywodu jest bardzo klarowna, dlatego nawet je\u015bli nie jeste\u015bcie tw\u00f3rcami bibliotek, i tak polecam lektur\u0119 &#8211; jest to unikalny materia\u0142, w ca\u0142o\u015bci oparty o do\u015bwiadczenia autora.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142o<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/michael-simons.github.io\/neo4j-migrations\/maintaining-a-medium-sized-java-library-in-2022-and-beyond\/\">Maintaining a medium-sized Java library in 2022 and beyond<\/a><\/li>\n<\/ul>\n\n\n\n<h2 id=\"3-jak-java-system-logger-sprawdza-sie-jako-alternatywa-dla-log4j\" data-num=3>3. Jak Java System Logger sprawdza si\u0119 jako alternatywa dla log4j?<\/h2>\n\n\n\n<p>A na koniec &#8211; Log4Shell. Wiem, \u017ce wszyscy \ud83e\udd2e tym tematem (ja r\u00f3wnie\u017c), dlatego o samej podatno\u015bci b\u0119dzie niewiele. Porozmawiamy sobie za to o tym, jak ca\u0142a grudniowa \u201cakcja\u201d wp\u0142yn\u0119\u0142a na spo\u0142eczno\u015b\u0107 i jej podej\u015bcie do wszelakich logger\u00f3w. Pewnie ci\u0119\u017cko jeszcze m\u00f3wi\u0107 tu o jakim\u015b wielkim odwrocie, ale spo\u0142eczno\u015b\u0107 zacz\u0119\u0142a powa\u017cnie przygl\u0105da\u0107 si\u0119 alternatywom.<\/p>\n\n\n\n<p>Okazuje si\u0119 bowiem, \u017ce ca\u0142kiem interesuj\u0105c\u0105 alternatyw\u0105 dla wszelkiej ma\u015bci bibliotek mo\u017ce by\u0107 Java System Logger. To dostarczone wraz z Jav\u0105 9 nigdy nie zdoby\u0142o sobie jakiej\u015b szerokiej popularno\u015bci &#8211; programi\u015bci si\u0142\u0105 rozp\u0119du u\u017cywali tego co znali, czyli wszelkich Log4J, SLF4J czy innych Logback\u00f3w. Nagle okaza\u0142o si\u0119, \u017ce w\u0142a\u015bciwie podobny efekt mo\u017cna uzyska\u0107 za pomoc\u0105 znacznie mniej pot\u0119\u017cnego (ergo &#8211; posiadaj\u0105cego mniej przestrzeni na podatno\u015bci) standardowego logowania javowego. \u015awietna analiz\u0119 tematu znajdziecie <a href=\"https:\/\/renato.athaydes.com\/posts\/java-system-logging.html\">tutaj<\/a>.<\/p>\n\n\n\n<p>Ciekaw\u0105 reperkusj\u0105 jest r\u00f3wnie\u017c proces patchowania bibliotek, kt\u00f3re od dekady pozostawa\u0142y bez wsparcia &#8211; wida\u0107, \u017ce nagle pojawi\u0142a si\u0119 w firmach potrzeba, \u017ceby lepiej przygl\u0105da\u0107 si\u0119 w\u0142asnym systemom do logowania. Przyk\u0142adem tutaj mo\u017ce by\u0107 cho\u0107by projekt reload4j, fork log4j jeszcze w wersji 1.2.17, kt\u00f3rej End-Of-Life nast\u0105pi\u0142 jeszcze w 2012 roku. Kto jest potencjalnym odbiorcom ca\u0142o\u015bci najlepiej obrazuje fakt, \u017ce o ile wspomniane w poprzedniej sekcji Neo4j-Migrations rozwa\u017ca\u0142o, czy nie porzuci\u0107 Javy 1.8, reload4j b\u0119dzie dzia\u0142a\u0142 prawid\u0142owo nawet w projektach napisanych w Javie 1.5.&nbsp;&nbsp;<\/p>\n\n\n\n<p>Og\u00f3lnie jednak jest to troch\u0119 smutne, \u017ce Log4j sta\u0142 si\u0119 synonimem problem\u00f3w z bezpiecze\u0144stwem i masa jadu wyla\u0142a si\u0119 w sieci na jego tw\u00f3rc\u00f3w. To w\u0142a\u015bnie oni byli bowiem cichymi bohaterami tamtych gor\u0105cych grudniowych dni, pracuj\u0105cymi w pocie czo\u0142a nad podatno\u015bci\u0105 zagra\u017caj\u0105c\u0105 ca\u0142emu \u015bwiatu IT. Sytuacj\u0119 bardzo dobrze opisuje artyku\u0142 <a href=\"https:\/\/www.bloomberg.com\/news\/articles\/2021-12-13\/how-apache-raced-to-fix-a-potentially-disastrous-software-flaw\">opublikowany przez Bloomberga<\/a>. Trzeba przyzna\u0107, \u017ce cho\u0107by ten fakt pokazuje znaczenie ich pracy &#8211; nie wiem czy kiedykolwiek jaka\u015b podatno\u015b\u0107 bezpiecze\u0144stwa a\u017c tak mocno przebi\u0142a si\u0119 do mainstreamu &#8211; nie wiem, czy nawet Heartbleed albo Spectre nie zdoby\u0142y jednak mniejszej publiki.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88c6ddbeb3.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\">&nbsp;Tak\u017ce dzi\u0119kujemy, maintainerzy Log4j.&nbsp;<\/figcaption><\/figure><\/div>","protected":false},"excerpt":{"rendered":"<p>2022 wchodzi na pe\u0142nej i zaczynaj\u0105 si\u0119 pojawia\u0107 pierwsze plany na najbli\u017cszy rok. W dzisiejszej edycji mamy dla Was &#8222;Sneak Peak&#8221; tego, czego spodziewa\u0107 si\u0119 w 2022 od Javy, jak te\u017c w bie\u017c\u0105cym roku si\u0119 pisze biblioteki, a tak\u017ce jak wygl\u0105da  oficjalna alternatywa dla log4j.<\/p>\n","protected":false},"author":10,"featured_media":7890,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[259],"tags":[],"class_list":["post-10018","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-jvm-pl"],"acf":{"estimated_reading_time":"4","weekly_summary":true,"push_notification_image":"https:\/\/vived.io\/wp-content\/uploads\/2022\/01\/JVM-2.png","feature_image_visible":false,"feature_image_blog":false},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>JVM Tuesday vol. 72 \u2013 Java w 2022, Pisanie Bibliotek, Java System Logger - Vived<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-72-java-w-2022-pisanie-bibliotek-java-system-logger\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JVM Tuesday vol. 72 \u2013 Java w 2022, Pisanie Bibliotek, Java System Logger - Vived\" \/>\n<meta property=\"og:description\" content=\"2022 wchodzi na pe\u0142nej i zaczynaj\u0105 si\u0119 pojawia\u0107 pierwsze plany na najbli\u017cszy rok. W dzisiejszej edycji mamy dla Was &quot;Sneak Peak&quot; tego, czego spodziewa\u0107 si\u0119 w 2022 od Javy, jak te\u017c w bie\u017c\u0105cym roku si\u0119 pisze biblioteki, a tak\u017ce jak wygl\u0105da oficjalna alternatywa dla log4j.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-72-java-w-2022-pisanie-bibliotek-java-system-logger\/\" \/>\n<meta property=\"og:site_name\" content=\"Vived\" \/>\n<meta property=\"article:published_time\" content=\"2022-01-18T14:59:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-25T15:24:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.vived.io\/wp-content\/uploads\/2022\/01\/JVM-2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Artur Skowro\u0144ski\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-72-java-w-2022-pisanie-bibliotek-java-system-logger\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-72-java-w-2022-pisanie-bibliotek-java-system-logger\/\"},\"author\":{\"name\":\"Artur Skowro\u0144ski\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3\"},\"headline\":\"JVM Tuesday vol. 72 \u2013 Java w 2022, Pisanie Bibliotek, Java System Logger\",\"datePublished\":\"2022-01-18T14:59:34+00:00\",\"dateModified\":\"2024-03-25T15:24:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-72-java-w-2022-pisanie-bibliotek-java-system-logger\/\"},\"wordCount\":982,\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-72-java-w-2022-pisanie-bibliotek-java-system-logger\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/01\/doc.png\",\"articleSection\":[\"JVM\"],\"inLanguage\":\"pl-PL\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-72-java-w-2022-pisanie-bibliotek-java-system-logger\/\",\"url\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-72-java-w-2022-pisanie-bibliotek-java-system-logger\/\",\"name\":\"JVM Tuesday vol. 72 \u2013 Java w 2022, Pisanie Bibliotek, Java System Logger - Vived\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-72-java-w-2022-pisanie-bibliotek-java-system-logger\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-72-java-w-2022-pisanie-bibliotek-java-system-logger\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/01\/doc.png\",\"datePublished\":\"2022-01-18T14:59:34+00:00\",\"dateModified\":\"2024-03-25T15:24:27+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-72-java-w-2022-pisanie-bibliotek-java-system-logger\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-72-java-w-2022-pisanie-bibliotek-java-system-logger\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-72-java-w-2022-pisanie-bibliotek-java-system-logger\/#primaryimage\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/01\/doc.png\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2022\/01\/doc.png\",\"width\":1000,\"height\":500},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/vived.io\/pl\/jvm-tuesday-vol-72-java-w-2022-pisanie-bibliotek-java-system-logger\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/vived.io\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JVM Tuesday vol. 72 \u2013 Java w 2022, Pisanie Bibliotek, Java System Logger\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/vived.io\/pl\/#website\",\"url\":\"https:\/\/vived.io\/pl\/\",\"name\":\"Vived\",\"description\":\"platform empowering IT people and technology companies to synergic growth\",\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/vived.io\/pl\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/vived.io\/pl\/#organization\",\"name\":\"Vived\",\"url\":\"https:\/\/vived.io\/pl\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png\",\"width\":136,\"height\":45,\"caption\":\"Vived\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3\",\"name\":\"Artur Skowro\u0144ski\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g\",\"caption\":\"Artur Skowro\u0144ski\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"JVM Tuesday vol. 72 \u2013 Java w 2022, Pisanie Bibliotek, Java System Logger - Vived","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-72-java-w-2022-pisanie-bibliotek-java-system-logger\/","og_locale":"pl_PL","og_type":"article","og_title":"JVM Tuesday vol. 72 \u2013 Java w 2022, Pisanie Bibliotek, Java System Logger - Vived","og_description":"2022 wchodzi na pe\u0142nej i zaczynaj\u0105 si\u0119 pojawia\u0107 pierwsze plany na najbli\u017cszy rok. W dzisiejszej edycji mamy dla Was \"Sneak Peak\" tego, czego spodziewa\u0107 si\u0119 w 2022 od Javy, jak te\u017c w bie\u017c\u0105cym roku si\u0119 pisze biblioteki, a tak\u017ce jak wygl\u0105da oficjalna alternatywa dla log4j.","og_url":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-72-java-w-2022-pisanie-bibliotek-java-system-logger\/","og_site_name":"Vived","article_published_time":"2022-01-18T14:59:34+00:00","article_modified_time":"2024-03-25T15:24:27+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/blog.vived.io\/wp-content\/uploads\/2022\/01\/JVM-2.png","type":"image\/png"}],"author":"Artur Skowro\u0144ski","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-72-java-w-2022-pisanie-bibliotek-java-system-logger\/#article","isPartOf":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-72-java-w-2022-pisanie-bibliotek-java-system-logger\/"},"author":{"name":"Artur Skowro\u0144ski","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3"},"headline":"JVM Tuesday vol. 72 \u2013 Java w 2022, Pisanie Bibliotek, Java System Logger","datePublished":"2022-01-18T14:59:34+00:00","dateModified":"2024-03-25T15:24:27+00:00","mainEntityOfPage":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-72-java-w-2022-pisanie-bibliotek-java-system-logger\/"},"wordCount":982,"publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"image":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-72-java-w-2022-pisanie-bibliotek-java-system-logger\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/01\/doc.png","articleSection":["JVM"],"inLanguage":"pl-PL"},{"@type":"WebPage","@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-72-java-w-2022-pisanie-bibliotek-java-system-logger\/","url":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-72-java-w-2022-pisanie-bibliotek-java-system-logger\/","name":"JVM Tuesday vol. 72 \u2013 Java w 2022, Pisanie Bibliotek, Java System Logger - Vived","isPartOf":{"@id":"https:\/\/vived.io\/pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-72-java-w-2022-pisanie-bibliotek-java-system-logger\/#primaryimage"},"image":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-72-java-w-2022-pisanie-bibliotek-java-system-logger\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/01\/doc.png","datePublished":"2022-01-18T14:59:34+00:00","dateModified":"2024-03-25T15:24:27+00:00","breadcrumb":{"@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-72-java-w-2022-pisanie-bibliotek-java-system-logger\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vived.io\/pl\/jvm-tuesday-vol-72-java-w-2022-pisanie-bibliotek-java-system-logger\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-72-java-w-2022-pisanie-bibliotek-java-system-logger\/#primaryimage","url":"https:\/\/vived.io\/wp-content\/uploads\/2022\/01\/doc.png","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2022\/01\/doc.png","width":1000,"height":500},{"@type":"BreadcrumbList","@id":"https:\/\/vived.io\/pl\/jvm-tuesday-vol-72-java-w-2022-pisanie-bibliotek-java-system-logger\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/vived.io\/pl\/"},{"@type":"ListItem","position":2,"name":"JVM Tuesday vol. 72 \u2013 Java w 2022, Pisanie Bibliotek, Java System Logger"}]},{"@type":"WebSite","@id":"https:\/\/vived.io\/pl\/#website","url":"https:\/\/vived.io\/pl\/","name":"Vived","description":"platform empowering IT people and technology companies to synergic growth","publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vived.io\/pl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/vived.io\/pl\/#organization","name":"Vived","url":"https:\/\/vived.io\/pl\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/","url":"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png","width":136,"height":45,"caption":"Vived"},"image":{"@id":"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3","name":"Artur Skowro\u0144ski","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g","caption":"Artur Skowro\u0144ski"}}]}},"blocks_vived":[{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2 class=\"wp-block-heading\">1. Co b\u0119dzie si\u0119 dzia\u0142o w Javie w tym roku?<\/h2>\n","innerContent":["\n<h2 class=\"wp-block-heading\">1. Co b\u0119dzie si\u0119 dzia\u0142o w Javie w tym roku?<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>W 2022 weszli\u015bmy ju\u017c pe\u0142n\u0105 par\u0105 i zako\u0144czyli\u015bmy chyba na dobr\u0119 czas podsumowywania 2021 - czas spojrze\u0107 w przysz\u0142o\u015b\u0107.&nbsp;<\/p>\n","innerContent":["\n<p>W 2022 weszli\u015bmy ju\u017c pe\u0142n\u0105 par\u0105 i zako\u0144czyli\u015bmy chyba na dobr\u0119 czas podsumowywania 2021 - czas spojrze\u0107 w przysz\u0142o\u015b\u0107.&nbsp;<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","linkDestination":"custom"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/www.youtube.com\/watch?v=4Y3LijiBxRA\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88c6571f6d.png\" alt=\"\"\/><\/a><figcaption class=\"wp-element-caption\">Kliknij w obrazek, by otworzy\u0107 wideo<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter\"><a href=\"https:\/\/www.youtube.com\/watch?v=4Y3LijiBxRA\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88c6571f6d.png\" alt=\"\"\/><\/a><figcaption class=\"wp-element-caption\">Kliknij w obrazek, by otworzy\u0107 wideo<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>A ta maluje si\u0119 interesuj\u0105co, cho\u0107 nie spodziewajcie si\u0119 jakiej\u015b wielkiej rewolucji. Nicolai Parlog przygotowa\u0142 bowiem w <a href=\"https:\/\/www.youtube.com\/watch?v=4Y3LijiBxRA\">swoim wideo<\/a> oraz <a href=\"https:\/\/nipafx.dev\/inside-java-newscast-18\/\">artykule<\/a> swoisty \u201cStatus Update\u201d czterech najistotniejszych projekt\u00f3w Javowych - Valhalla, Panama, Loom i Amber. Uwielbiam tego typu sumaryzacj\u0119, poniewa\u017c czytaj\u0105c jeden tekst jeste\u015bmy w stanie (cho\u0107 do\u015b\u0107 pobie\u017cnie) zorientowa\u0107 si\u0119 w kierunku, w kt\u00f3rym idzie JVM. Nicolai \u015bwietnie orientuje si\u0119 te\u017c w planach tw\u00f3rc\u00f3w Javy, dlatego jest to te\u017c idealne miejsce, \u017ceby dowiedzie\u0107 si\u0119 np. co takiego zobaczymy w ramach Amber ju\u017c po wprowadzeniu Pattern Matchingu. Dzi\u0119ki temu rzeczywi\u015bcie mo\u017cna mniej wi\u0119cej przewidzie\u0107, jakich zmian spodziewa\u0107 si\u0119 nale\u017cy w przysz\u0142ym roku.<\/p>\n","innerContent":["\n<p>A ta maluje si\u0119 interesuj\u0105co, cho\u0107 nie spodziewajcie si\u0119 jakiej\u015b wielkiej rewolucji. Nicolai Parlog przygotowa\u0142 bowiem w <a href=\"https:\/\/www.youtube.com\/watch?v=4Y3LijiBxRA\">swoim wideo<\/a> oraz <a href=\"https:\/\/nipafx.dev\/inside-java-newscast-18\/\">artykule<\/a> swoisty \u201cStatus Update\u201d czterech najistotniejszych projekt\u00f3w Javowych - Valhalla, Panama, Loom i Amber. Uwielbiam tego typu sumaryzacj\u0119, poniewa\u017c czytaj\u0105c jeden tekst jeste\u015bmy w stanie (cho\u0107 do\u015b\u0107 pobie\u017cnie) zorientowa\u0107 si\u0119 w kierunku, w kt\u00f3rym idzie JVM. Nicolai \u015bwietnie orientuje si\u0119 te\u017c w planach tw\u00f3rc\u00f3w Javy, dlatego jest to te\u017c idealne miejsce, \u017ceby dowiedzie\u0107 si\u0119 np. co takiego zobaczymy w ramach Amber ju\u017c po wprowadzeniu Pattern Matchingu. Dzi\u0119ki temu rzeczywi\u015bcie mo\u017cna mniej wi\u0119cej przewidzie\u0107, jakich zmian spodziewa\u0107 si\u0119 nale\u017cy w przysz\u0142ym roku.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88c6adf56c.gif\" alt=\"\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88c6adf56c.gif\" alt=\"\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Dla mnie powy\u017csze podsumowanie jest dosy\u0107 symptomatyczne, je\u015bli chodzi o ukazanie tempa rozwoju JVMa. Z jednej strony w ekosystemie dzieje si\u0119 wiele (powy\u017csza czw\u00f3rka to absolutnie nie jedyne projekty w ramach JVM, \u017ceby wspomnie\u0107 tutaj o wydanym jesieni\u0105 Lanai), jednak od paru lat to w\u0142a\u015bnie powy\u017csza czw\u00f3rka to swoiste konie poci\u0105gowe ca\u0142ej platformy, kt\u00f3re posuwaj\u0105 do przodu ca\u0142y ekosystem. Ich wdro\u017cenie to proces ci\u0105g\u0142y i podejrzewam, \u017ce zostan\u0105 z nami jeszcze przez par\u0119 lat, chocia\u017c cieszy, \u017ce rok 2021 przyni\u00f3s\u0142 ju\u017c bardziej skonkretyzowane JEPy do takiej Valhalli i Looma. \u015aledz\u0105c jednak ich rozw\u00f3j od paru lat (a konkretnie ju\u017c od 2014 roku), jestem szalenie ciekawy tego, co wydarzy si\u0119, gdy \u201cWielka Czw\u00f3rka\u201d zostanie wdro\u017cona i jak czy s\u0105 ju\u017c jakie\u015b plany na Jav\u0119 2030.&nbsp;<\/p>\n","innerContent":["\n<p>Dla mnie powy\u017csze podsumowanie jest dosy\u0107 symptomatyczne, je\u015bli chodzi o ukazanie tempa rozwoju JVMa. Z jednej strony w ekosystemie dzieje si\u0119 wiele (powy\u017csza czw\u00f3rka to absolutnie nie jedyne projekty w ramach JVM, \u017ceby wspomnie\u0107 tutaj o wydanym jesieni\u0105 Lanai), jednak od paru lat to w\u0142a\u015bnie powy\u017csza czw\u00f3rka to swoiste konie poci\u0105gowe ca\u0142ej platformy, kt\u00f3re posuwaj\u0105 do przodu ca\u0142y ekosystem. Ich wdro\u017cenie to proces ci\u0105g\u0142y i podejrzewam, \u017ce zostan\u0105 z nami jeszcze przez par\u0119 lat, chocia\u017c cieszy, \u017ce rok 2021 przyni\u00f3s\u0142 ju\u017c bardziej skonkretyzowane JEPy do takiej Valhalli i Looma. \u015aledz\u0105c jednak ich rozw\u00f3j od paru lat (a konkretnie ju\u017c od 2014 roku), jestem szalenie ciekawy tego, co wydarzy si\u0119, gdy \u201cWielka Czw\u00f3rka\u201d zostanie wdro\u017cona i jak czy s\u0105 ju\u017c jakie\u015b plany na Jav\u0119 2030.&nbsp;<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":3},"innerBlocks":[],"innerHTML":"\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142a<\/h3>\n","innerContent":["\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142a<\/h3>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/list","attrs":[],"innerBlocks":[{"blockName":"core\/list-item","attrs":[],"innerBlocks":[],"innerHTML":"\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=4Y3LijiBxR\">https:\/\/www.youtube.com\/watch?v=4Y3LijiBxR<\/a><\/li>\n","innerContent":["\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=4Y3LijiBxR\">https:\/\/www.youtube.com\/watch?v=4Y3LijiBxR<\/a><\/li>\n"]},{"blockName":"core\/list-item","attrs":[],"innerBlocks":[],"innerHTML":"\n<li><a href=\"https:\/\/nipafx.dev\/inside-java-newscast-18\/\">Java's Plans for 2022 - Inside Java Newscast #18<\/a><\/li>\n","innerContent":["\n<li><a href=\"https:\/\/nipafx.dev\/inside-java-newscast-18\/\">Java's Plans for 2022 - Inside Java Newscast #18<\/a><\/li>\n"]}],"innerHTML":"\n<ul>\n\n<\/ul>\n","innerContent":["\n<ul>",null,"\n\n",null,"<\/ul>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2 class=\"wp-block-heading\">2. Jakie decyzje podejmuj\u0105 tw\u00f3rcy bibliotek w 2022?<\/h2>\n","innerContent":["\n<h2 class=\"wp-block-heading\">2. Jakie decyzje podejmuj\u0105 tw\u00f3rcy bibliotek w 2022?<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Kiedy\u015b to by\u0142y czasy, teraz nie ma czas\u00f3w.&nbsp;<\/p>\n","innerContent":["\n<p>Kiedy\u015b to by\u0142y czasy, teraz nie ma czas\u00f3w.&nbsp;<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Porozmawiali\u015bmy sobie o wszystkich zmianach, jakich Java doczeka\u0107 si\u0119 ma jeszcze w roku 2022, ale nie zmienia to faktu, \u017ce mamy do czynienia z do\u015b\u0107 stabilnym ekosystemem programistycznym. Nie da si\u0119 jednak ukry\u0107, \u017ce kilka ostatnich lat tchn\u0119\u0142o nieco \u201c\u017cycia\u201d w platform\u0119, co jest na sw\u00f3j spos\u00f3b ekscytuj\u0105ce dla programist\u00f3w. Jednocze\u015bnie jednak okazuje si\u0119, \u017ce dla tw\u00f3rc\u00f3w bibliotek nowa sytuacja wprowadza pewne komplikacje.&nbsp;<\/p>\n","innerContent":["\n<p>Porozmawiali\u015bmy sobie o wszystkich zmianach, jakich Java doczeka\u0107 si\u0119 ma jeszcze w roku 2022, ale nie zmienia to faktu, \u017ce mamy do czynienia z do\u015b\u0107 stabilnym ekosystemem programistycznym. Nie da si\u0119 jednak ukry\u0107, \u017ce kilka ostatnich lat tchn\u0119\u0142o nieco \u201c\u017cycia\u201d w platform\u0119, co jest na sw\u00f3j spos\u00f3b ekscytuj\u0105ce dla programist\u00f3w. Jednocze\u015bnie jednak okazuje si\u0119, \u017ce dla tw\u00f3rc\u00f3w bibliotek nowa sytuacja wprowadza pewne komplikacje.&nbsp;<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88c6c342fd.gif\" alt=\"\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88c6c342fd.gif\" alt=\"\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Jakie? W dog\u0142\u0119bny spos\u00f3b (ze wzgl\u0119du na szat\u0119 graficzn\u0105 i styl, pocz\u0105tkowo my\u015bla\u0142em, \u017ce mamy do czynienia z postem @shipileva) przygl\u0105da si\u0119 im w swoim artykule Michael Simons z neo4j, opisuj\u0105c proces decyzyjny stoj\u0105cy za powstaniem Neo4j-Migrations. Ca\u0142o\u015b\u0107 to frapuj\u0105ca lektura, poniewa\u017c okazuje si\u0119, \u017ce w 2022 roku ilo\u015b\u0107 mikro decyzji do podj\u0119cia jest zaskakuj\u0105co du\u017ca. Wychodz\u0105c poza standardowe dywagacje Maven vs Gradle, zastanowi\u0107 si\u0119 przyk\u0142adowo trzeba, jak\u0105 minimaln\u0105 wersj\u0119 JVMa chcemy wspiera\u0107 - decyzja ta implikuje r\u00f3wnie\u017c r\u00f3\u017cne mo\u017cliwe podej\u015bcia do JPMSa. Z ty\u0142u g\u0142owy nale\u017cy mie\u0107 r\u00f3wnie\u017c rosn\u0105c\u0105 popularno\u015b\u0107 GraalVM, kt\u00f3ry rz\u0105dzi si\u0119 swoimi w\u0142asnymi prawami, Ca\u0142o\u015b\u0107 wywodu jest bardzo klarowna, dlatego nawet je\u015bli nie jeste\u015bcie tw\u00f3rcami bibliotek, i tak polecam lektur\u0119 - jest to unikalny materia\u0142, w ca\u0142o\u015bci oparty o do\u015bwiadczenia autora.<\/p>\n","innerContent":["\n<p>Jakie? W dog\u0142\u0119bny spos\u00f3b (ze wzgl\u0119du na szat\u0119 graficzn\u0105 i styl, pocz\u0105tkowo my\u015bla\u0142em, \u017ce mamy do czynienia z postem @shipileva) przygl\u0105da si\u0119 im w swoim artykule Michael Simons z neo4j, opisuj\u0105c proces decyzyjny stoj\u0105cy za powstaniem Neo4j-Migrations. Ca\u0142o\u015b\u0107 to frapuj\u0105ca lektura, poniewa\u017c okazuje si\u0119, \u017ce w 2022 roku ilo\u015b\u0107 mikro decyzji do podj\u0119cia jest zaskakuj\u0105co du\u017ca. Wychodz\u0105c poza standardowe dywagacje Maven vs Gradle, zastanowi\u0107 si\u0119 przyk\u0142adowo trzeba, jak\u0105 minimaln\u0105 wersj\u0119 JVMa chcemy wspiera\u0107 - decyzja ta implikuje r\u00f3wnie\u017c r\u00f3\u017cne mo\u017cliwe podej\u015bcia do JPMSa. Z ty\u0142u g\u0142owy nale\u017cy mie\u0107 r\u00f3wnie\u017c rosn\u0105c\u0105 popularno\u015b\u0107 GraalVM, kt\u00f3ry rz\u0105dzi si\u0119 swoimi w\u0142asnymi prawami, Ca\u0142o\u015b\u0107 wywodu jest bardzo klarowna, dlatego nawet je\u015bli nie jeste\u015bcie tw\u00f3rcami bibliotek, i tak polecam lektur\u0119 - jest to unikalny materia\u0142, w ca\u0142o\u015bci oparty o do\u015bwiadczenia autora.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":3},"innerBlocks":[],"innerHTML":"\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142o<\/h3>\n","innerContent":["\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142o<\/h3>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/list","attrs":[],"innerBlocks":[{"blockName":"core\/list-item","attrs":[],"innerBlocks":[],"innerHTML":"\n<li><a href=\"https:\/\/michael-simons.github.io\/neo4j-migrations\/maintaining-a-medium-sized-java-library-in-2022-and-beyond\/\">Maintaining a medium-sized Java library in 2022 and beyond<\/a><\/li>\n","innerContent":["\n<li><a href=\"https:\/\/michael-simons.github.io\/neo4j-migrations\/maintaining-a-medium-sized-java-library-in-2022-and-beyond\/\">Maintaining a medium-sized Java library in 2022 and beyond<\/a><\/li>\n"]}],"innerHTML":"\n<ul><\/ul>\n","innerContent":["\n<ul>",null,"<\/ul>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2 class=\"wp-block-heading\">3. Jak Java System Logger sprawdza si\u0119 jako alternatywa dla log4j?<\/h2>\n","innerContent":["\n<h2 class=\"wp-block-heading\">3. Jak Java System Logger sprawdza si\u0119 jako alternatywa dla log4j?<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>A na koniec - Log4Shell. Wiem, \u017ce wszyscy \ud83e\udd2e tym tematem (ja r\u00f3wnie\u017c), dlatego o samej podatno\u015bci b\u0119dzie niewiele. Porozmawiamy sobie za to o tym, jak ca\u0142a grudniowa \u201cakcja\u201d wp\u0142yn\u0119\u0142a na spo\u0142eczno\u015b\u0107 i jej podej\u015bcie do wszelakich logger\u00f3w. Pewnie ci\u0119\u017cko jeszcze m\u00f3wi\u0107 tu o jakim\u015b wielkim odwrocie, ale spo\u0142eczno\u015b\u0107 zacz\u0119\u0142a powa\u017cnie przygl\u0105da\u0107 si\u0119 alternatywom.<\/p>\n","innerContent":["\n<p>A na koniec - Log4Shell. Wiem, \u017ce wszyscy \ud83e\udd2e tym tematem (ja r\u00f3wnie\u017c), dlatego o samej podatno\u015bci b\u0119dzie niewiele. Porozmawiamy sobie za to o tym, jak ca\u0142a grudniowa \u201cakcja\u201d wp\u0142yn\u0119\u0142a na spo\u0142eczno\u015b\u0107 i jej podej\u015bcie do wszelakich logger\u00f3w. Pewnie ci\u0119\u017cko jeszcze m\u00f3wi\u0107 tu o jakim\u015b wielkim odwrocie, ale spo\u0142eczno\u015b\u0107 zacz\u0119\u0142a powa\u017cnie przygl\u0105da\u0107 si\u0119 alternatywom.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Okazuje si\u0119 bowiem, \u017ce ca\u0142kiem interesuj\u0105c\u0105 alternatyw\u0105 dla wszelkiej ma\u015bci bibliotek mo\u017ce by\u0107 Java System Logger. To dostarczone wraz z Jav\u0105 9 nigdy nie zdoby\u0142o sobie jakiej\u015b szerokiej popularno\u015bci - programi\u015bci si\u0142\u0105 rozp\u0119du u\u017cywali tego co znali, czyli wszelkich Log4J, SLF4J czy innych Logback\u00f3w. Nagle okaza\u0142o si\u0119, \u017ce w\u0142a\u015bciwie podobny efekt mo\u017cna uzyska\u0107 za pomoc\u0105 znacznie mniej pot\u0119\u017cnego (ergo - posiadaj\u0105cego mniej przestrzeni na podatno\u015bci) standardowego logowania javowego. \u015awietna analiz\u0119 tematu znajdziecie <a href=\"https:\/\/renato.athaydes.com\/posts\/java-system-logging.html\">tutaj<\/a>.<\/p>\n","innerContent":["\n<p>Okazuje si\u0119 bowiem, \u017ce ca\u0142kiem interesuj\u0105c\u0105 alternatyw\u0105 dla wszelkiej ma\u015bci bibliotek mo\u017ce by\u0107 Java System Logger. To dostarczone wraz z Jav\u0105 9 nigdy nie zdoby\u0142o sobie jakiej\u015b szerokiej popularno\u015bci - programi\u015bci si\u0142\u0105 rozp\u0119du u\u017cywali tego co znali, czyli wszelkich Log4J, SLF4J czy innych Logback\u00f3w. Nagle okaza\u0142o si\u0119, \u017ce w\u0142a\u015bciwie podobny efekt mo\u017cna uzyska\u0107 za pomoc\u0105 znacznie mniej pot\u0119\u017cnego (ergo - posiadaj\u0105cego mniej przestrzeni na podatno\u015bci) standardowego logowania javowego. \u015awietna analiz\u0119 tematu znajdziecie <a href=\"https:\/\/renato.athaydes.com\/posts\/java-system-logging.html\">tutaj<\/a>.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Ciekaw\u0105 reperkusj\u0105 jest r\u00f3wnie\u017c proces patchowania bibliotek, kt\u00f3re od dekady pozostawa\u0142y bez wsparcia - wida\u0107, \u017ce nagle pojawi\u0142a si\u0119 w firmach potrzeba, \u017ceby lepiej przygl\u0105da\u0107 si\u0119 w\u0142asnym systemom do logowania. Przyk\u0142adem tutaj mo\u017ce by\u0107 cho\u0107by projekt reload4j, fork log4j jeszcze w wersji 1.2.17, kt\u00f3rej End-Of-Life nast\u0105pi\u0142 jeszcze w 2012 roku. Kto jest potencjalnym odbiorcom ca\u0142o\u015bci najlepiej obrazuje fakt, \u017ce o ile wspomniane w poprzedniej sekcji Neo4j-Migrations rozwa\u017ca\u0142o, czy nie porzuci\u0107 Javy 1.8, reload4j b\u0119dzie dzia\u0142a\u0142 prawid\u0142owo nawet w projektach napisanych w Javie 1.5.&nbsp;&nbsp;<\/p>\n","innerContent":["\n<p>Ciekaw\u0105 reperkusj\u0105 jest r\u00f3wnie\u017c proces patchowania bibliotek, kt\u00f3re od dekady pozostawa\u0142y bez wsparcia - wida\u0107, \u017ce nagle pojawi\u0142a si\u0119 w firmach potrzeba, \u017ceby lepiej przygl\u0105da\u0107 si\u0119 w\u0142asnym systemom do logowania. Przyk\u0142adem tutaj mo\u017ce by\u0107 cho\u0107by projekt reload4j, fork log4j jeszcze w wersji 1.2.17, kt\u00f3rej End-Of-Life nast\u0105pi\u0142 jeszcze w 2012 roku. Kto jest potencjalnym odbiorcom ca\u0142o\u015bci najlepiej obrazuje fakt, \u017ce o ile wspomniane w poprzedniej sekcji Neo4j-Migrations rozwa\u017ca\u0142o, czy nie porzuci\u0107 Javy 1.8, reload4j b\u0119dzie dzia\u0142a\u0142 prawid\u0142owo nawet w projektach napisanych w Javie 1.5.&nbsp;&nbsp;<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Og\u00f3lnie jednak jest to troch\u0119 smutne, \u017ce Log4j sta\u0142 si\u0119 synonimem problem\u00f3w z bezpiecze\u0144stwem i masa jadu wyla\u0142a si\u0119 w sieci na jego tw\u00f3rc\u00f3w. To w\u0142a\u015bnie oni byli bowiem cichymi bohaterami tamtych gor\u0105cych grudniowych dni, pracuj\u0105cymi w pocie czo\u0142a nad podatno\u015bci\u0105 zagra\u017caj\u0105c\u0105 ca\u0142emu \u015bwiatu IT. Sytuacj\u0119 bardzo dobrze opisuje artyku\u0142 <a href=\"https:\/\/www.bloomberg.com\/news\/articles\/2021-12-13\/how-apache-raced-to-fix-a-potentially-disastrous-software-flaw\">opublikowany przez Bloomberga<\/a>. Trzeba przyzna\u0107, \u017ce cho\u0107by ten fakt pokazuje znaczenie ich pracy - nie wiem czy kiedykolwiek jaka\u015b podatno\u015b\u0107 bezpiecze\u0144stwa a\u017c tak mocno przebi\u0142a si\u0119 do mainstreamu - nie wiem, czy nawet Heartbleed albo Spectre nie zdoby\u0142y jednak mniejszej publiki.<\/p>\n","innerContent":["\n<p>Og\u00f3lnie jednak jest to troch\u0119 smutne, \u017ce Log4j sta\u0142 si\u0119 synonimem problem\u00f3w z bezpiecze\u0144stwem i masa jadu wyla\u0142a si\u0119 w sieci na jego tw\u00f3rc\u00f3w. To w\u0142a\u015bnie oni byli bowiem cichymi bohaterami tamtych gor\u0105cych grudniowych dni, pracuj\u0105cymi w pocie czo\u0142a nad podatno\u015bci\u0105 zagra\u017caj\u0105c\u0105 ca\u0142emu \u015bwiatu IT. Sytuacj\u0119 bardzo dobrze opisuje artyku\u0142 <a href=\"https:\/\/www.bloomberg.com\/news\/articles\/2021-12-13\/how-apache-raced-to-fix-a-potentially-disastrous-software-flaw\">opublikowany przez Bloomberga<\/a>. Trzeba przyzna\u0107, \u017ce cho\u0107by ten fakt pokazuje znaczenie ich pracy - nie wiem czy kiedykolwiek jaka\u015b podatno\u015b\u0107 bezpiecze\u0144stwa a\u017c tak mocno przebi\u0142a si\u0119 do mainstreamu - nie wiem, czy nawet Heartbleed albo Spectre nie zdoby\u0142y jednak mniejszej publiki.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88c6ddbeb3.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\">&nbsp;Tak\u017ce dzi\u0119kujemy, maintainerzy Log4j.&nbsp;<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/06\/img_62a88c6ddbeb3.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\">&nbsp;Tak\u017ce dzi\u0119kujemy, maintainerzy Log4j.&nbsp;<\/figcaption><\/figure>\n"]}],"_links":{"self":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10018","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/comments?post=10018"}],"version-history":[{"count":2,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10018\/revisions"}],"predecessor-version":[{"id":17930,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10018\/revisions\/17930"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media\/7890"}],"wp:attachment":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media?parent=10018"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/categories?post=10018"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/tags?post=10018"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}