{"id":9290,"date":"2011-09-25T20:53:00","date_gmt":"2011-09-25T18:53:00","guid":{"rendered":"https:\/\/fatihboy.com\/post\/log4net-gunluklerine-guzel-bir-arayuz"},"modified":"2011-09-25T20:53:00","modified_gmt":"2011-09-25T18:53:00","slug":"log4net-gunluklerine-guzel-bir-arayuz","status":"publish","type":"post","link":"https:\/\/fatihboy.com\/en\/log4net-gunluklerine-guzel-bir-arayuz\/","title":{"rendered":"Log4Net G\u00fcnl\u00fcklerine G\u00fczel Bir Aray\u00fcz"},"content":{"rendered":"<p>&nbsp;&nbsp; <a href=\"\/en\/?tag=log4net\">Daha \u00f6nceki makalelerimde<\/a> Log4Net\u2019ten ve biz yaz\u0131l\u0131mc\u0131lar\u0131n hayat\u0131n\u0131 nas\u0131l kolayla\u015ft\u0131rd\u0131\u011f\u0131ndan sizlere bahsetmi\u015ftim. Bu makalemde ise sizlere Log4Net ile olu\u015fturulan uygulama g\u00fcnl\u00fcklerini browser \u00fczerinden nas\u0131l daha g\u00fczel ve anla\u015f\u0131l\u0131r olarak g\u00f6sterebilece\u011finizi anlataca\u011f\u0131m.<\/p>\n\n\n\n<p>&nbsp;&nbsp; Kolay i\u015flenebilmesi ve pek \u00e7ok ara\u00e7 ile desteklenmesi nedeniyle g\u00fcn\u00fcm\u00fczde pek \u00e7ok veri yaz\u0131l\u0131mc\u0131lar taraf\u0131ndan xml format\u0131nda tutulmakta. \u00d6yle ki, baz\u0131 web sitelerinin kodlar\u0131 incelendi\u011finde do\u011frudan veritaban\u0131 sorgu sonu\u00e7lar\u0131 xml olarak istemciye g\u00f6nderildi\u011fi, ek olarak belirtilen bir xslt yard\u0131m\u0131yla da bu verinin istemcide html\u2019e d\u00f6n\u00fc\u015ft\u00fcr\u00fcld\u00fc\u011f\u00fc g\u00f6r\u00fclecektir. B\u00f6ylesi bir i\u015flem sonras\u0131 hem sunucu i\u015flemcisi daha az kullan\u0131lacak, hem de sayfa boyutunu \u00f6nemli derece azalacakt\u0131r.<\/p>\n\n\n\n<p>&nbsp;&nbsp; Benzer \u015fekilde, pek \u00e7ok yaz\u0131l\u0131mc\u0131 programsal olarak i\u015fleyebilmek ad\u0131na Log4Net ile tuttu\u011fu uygulama g\u00fcnl\u00fcklerini xml formatter ile dosyalara saklamakta. Bu sayede g\u00fcnl\u00fck dosyas\u0131n\u0131 istedi\u011fi \u015fekilde i\u015fleyebilmektedir. Bu y\u00f6ntemin akl\u0131ma gelen tek dez avantaj\u0131 ise d\u00fcz bir metin halindeki bir g\u00fcnl\u00fck dosyas\u0131na k\u0131yasla g\u00f6zle daha zor okunuyor olmas\u0131d\u0131r. Bu noktada bir \u00f6nceki paragrafta \u00f6rnekledi\u011fim web sitelerinin yakla\u015f\u0131m\u0131na benzer bir \u015fekilde Log4Net\u2019in xml g\u00fcnl\u00fck dosyalar\u0131 da bir xslt ile i\u015flenerek olduk\u00e7a g\u00f6rsel bir \u00e7\u0131kt\u0131 elde edilebilir.<\/p>\n\n\n\n<p>&nbsp; A\u015fa\u011f\u0131da, makalemin devam\u0131nda \u00f6rnek olarak kullanaca\u011f\u0131m ve xml formatter ile loglanm\u0131\u015f bir g\u00fcnl\u00fck dosyas\u0131n\u0131n i\u00e7eri\u011fini bulabilirsiniz;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"xml\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;event logger=\"Enterprisecoding.OrnekUygulama.MainForm\" timestamp=\"2011-09-23T22:36:56.8609054+03:00\" level=\"DEBUG\" thread=\"1\" domain=\"OrnekUygulama.exe\" username=\"fatih\">&lt;message>Uygulama ba\u015flad\u0131&lt;\/message>&lt;properties>&lt;data name=\"log4net:HostName\" value=\"terra\" \/>&lt;data name=\"LogDirectory\" value=\"C:\\Logs\" \/>&lt;\/properties>&lt;\/event>\n&lt;event logger=\"Enterprisecoding.OrnekUygulama.ParametreYoneticisi\" timestamp=\"2011-09-23T22:36:57.8609054+03:00\" level=\"INFO\" thread=\"1\" domain=\"OrnekUygulama.exe\" username=\"fatih\">&lt;message>Komut sat\u0131r\u0131 parametreleri i\u015fleniyor&lt;\/message>&lt;properties>&lt;data name=\"log4net:HostName\" value=\"terra\" \/>&lt;data name=\"LogDirectory\" value=\"C:\\Logs\" \/>&lt;\/properties>&lt;\/event>\n&lt;event logger=\"Enterprisecoding.OrnekUygulama.ParametreYoneticisi\" timestamp=\"2011-09-23T22:36:57.8609054+03:00\" level=\"WARN\" thread=\"1\" domain=\"OrnekUygulama.exe\" username=\"fatih\">&lt;message>Komut sat\u0131r\u0131 parametreleri belirtilmemi\u015f&lt;\/message>&lt;properties>&lt;data name=\"log4net:HostName\" value=\"terra\" \/>&lt;data name=\"LogDirectory\" value=\"C:\\Logs\" \/>&lt;\/properties>&lt;\/event>\n&lt;event logger=\"Enterprisecoding.OrnekUygulama.EklentiYoneticisi\" timestamp=\"2011-09-23T22:36:57.8609054+03:00\" level=\"INFO\" thread=\"1\" domain=\"OrnekUygulama.exe\" username=\"fatih\">&lt;message>Eklentilerin i\u015flenmesine ba\u015flan\u0131yor&lt;\/message>&lt;properties>&lt;data name=\"log4net:HostName\" value=\"terra\" \/>&lt;data name=\"LogDirectory\" value=\"C:\\Logs\" \/>&lt;\/properties>&lt;\/event>\n&lt;event logger=\"Enterprisecoding.OrnekUygulama.EklentiYoneticisi\" timestamp=\"2011-09-23T22:36:57.8609054+03:00\" level=\"DEBUG\" thread=\"1\" domain=\"OrnekUygulama.exe\" username=\"fatih\">&lt;message>abc.dll i\u00e7erisindeki eklentiler i\u015fleniyor&lt;\/message>&lt;properties>&lt;data name=\"log4net:HostName\" value=\"terra\" \/>&lt;data name=\"LogDirectory\" value=\"C:\\Logs\" \/>&lt;\/properties>&lt;\/event>\n&lt;event logger=\"Enterprisecoding.OrnekUygulama.EklentiYoneticisi\" timestamp=\"2011-09-23T22:36:57.8609054+03:00\" level=\"DEBUG\" thread=\"1\" domain=\"OrnekUygulama.exe\" username=\"fatih\">&lt;message>xyz.dll i\u00e7erisindeki eklentiler i\u015fleniyor&lt;\/message>&lt;properties>&lt;data name=\"log4net:HostName\" value=\"terra\" \/>&lt;data name=\"LogDirectory\" value=\"C:\\Logs\" \/>&lt;\/properties>&lt;\/event>\n&lt;event logger=\"Enterprisecoding.OrnekUygulama.EklentiYoneticisi\" timestamp=\"2011-09-23T22:36:57.8609054+03:00\" level=\"INFO\" thread=\"1\" domain=\"OrnekUygulama.exe\" username=\"fatih\">&lt;message>Eklentilerin i\u015flenmesi tamamland\u0131&lt;\/message>&lt;properties>&lt;data name=\"log4net:HostName\" value=\"terra\" \/>&lt;data name=\"LogDirectory\" value=\"C:\\Logs\" \/>&lt;\/properties>&lt;\/event>\n&lt;event logger=\"Enterprisecoding.OrnekUygulama.VeritabaniYoneticisi\" timestamp=\"2011-09-23T22:36:58.8609054+03:00\" level=\"INFO\" thread=\"1\" domain=\"OrnekUygulama.exe\" username=\"fatih\">&lt;message>Veritaban\u0131 ba\u011flant\u0131s\u0131 kuruluyor&lt;\/message>&lt;properties>&lt;data name=\"log4net:HostName\" value=\"terra\" \/>&lt;data name=\"LogDirectory\" value=\"C:\\Logs\" \/>&lt;\/properties>&lt;\/event>\n&lt;event logger=\"Enterprisecoding.OrnekUygulama.VeritabaniYoneticisi\" timestamp=\"2011-09-23T22:36:58.8609054+03:00\" level=\"DEBUG\" thread=\"1\" domain=\"OrnekUygulama.exe\" username=\"fatih\">&lt;message>Veritaban\u0131 ba\u011flant\u0131s\u0131 i\u00e7in kullan\u0131lan ba\u011flant\u0131 c\u00fcmleci\u011fi : Data Source=localhost; Initial Catalog=veritabanim; User Id=su; Password=1234;&lt;\/message>&lt;properties>&lt;data name=\"log4net:HostName\" value=\"terra\" \/>&lt;data name=\"LogDirectory\" value=\"C:\\Logs\" \/>&lt;\/properties>&lt;\/event>\n&lt;event logger=\"Enterprisecoding.OrnekUygulama.VeritabaniYoneticisi\" timestamp=\"2011-09-23T22:36:59.8609054+03:00\" level=\"ERROR\" thread=\"1\" domain=\"OrnekUygulama.exe\" username=\"fatih\">&lt;message>Ba\u011flant\u0131 s\u0131ras\u0131nda hata olu\u015ftu&lt;\/message>&lt;properties>&lt;data name=\"log4net:HostName\" value=\"terra\" \/>&lt;data name=\"LogDirectory\" value=\"C:\\Logs\" \/>&lt;\/properties>&lt;exception>System.NullReferenceException: Nesne ba\u015fvurusu bir nesnenin \u00f6rne\u011fine ayarlanmad\u0131.\n   konum: Enterprisecoding.OrnekUygulama.VeritabaniYoneticisi.Baglan() C:\\Enterprisecoding\\OrnekUygulama\\VeritabaniYoneticisi.cs i\u00e7inde: sat\u0131r 118\n   konum: Enterprisecoding.OrnekUygulama.MainForm.BaglantiKur(ParametreYoneticisi parametreYoneticisi) C:\\Enterprisecoding\\OrnekUygulama\\MainForm.cs i\u00e7inde: sat\u0131r 384&lt;\/exception>&lt;\/event>\n&lt;event logger=\"Enterprisecoding.OrnekUygulama.MainForm\" timestamp=\"2011-09-23T22:37:00.8609054+03:00\" level=\"FATAL\" thread=\"1\" domain=\"OrnekUygulama.exe\" username=\"fatih\">&lt;message>Y\u00f6netilememi\u015f hata nedeniyle uygulama sonland\u0131r\u0131l\u0131yor&lt;\/message>&lt;properties>&lt;data name=\"log4net:HostName\" value=\"terra\" \/>&lt;data name=\"LogDirectory\" value=\"C:\\Logs\" \/>&lt;\/properties>&lt;\/event>\n&lt;event logger=\"Enterprisecoding.OrnekUygulama.MainForm\" timestamp=\"2011-09-23T22:37:01.8009002+03:00\" level=\"DEBUG\" thread=\"1\" domain=\"OrnekUygulama.exe\" username=\"fatih\">&lt;message>Uygulama sonland\u0131&lt;\/message>&lt;properties>&lt;data name=\"log4net:HostName\" value=\"terra\" \/>&lt;data name=\"LogDirectory\" value=\"C:\\Logs\" \/>&lt;\/properties>&lt;\/event><\/pre>\n\n\n\n<p>&nbsp;&nbsp; Bu dosyay\u0131 bir browser \u00fczerinde xslt ile i\u015flenmi\u015f olarak g\u00f6rmek i\u00e7in \u00f6ncelikle dosyan\u0131n ba\u015f\u0131nda kullan\u0131laca\u011f\u0131 olan xslt belirtilmelidir. \u0130\u015fte tam da bu noktada tahminimce ilk problemimizi farkedeceksiniz; g\u00fcnl\u00fck dosyam\u0131z d\u00fczg\u00fcn bir xml dosyas\u0131 de\u011fil! G\u00fcnl\u00fc\u011f\u00fcn ge\u00e7erli bir xml i\u00e7ermesi i\u00e7in \u00f6ncelikle tek bir ana d\u00fc\u011f\u00fcme sahip olmas\u0131 gerekli; fakat bizim \u00f6rne\u011fimizde 12 adet ana d\u00fc\u011f\u00fcm bulunmakta (<em>event d\u00fc\u011f\u00fcmleri<\/em>). Dolay\u0131s\u0131yla da browser\u2019lar bu haliyle g\u00fcnl\u00fc\u011f\u00fc yorumlayamayacakt\u0131r.<\/p>\n\n\n\n<p>&nbsp;&nbsp; Bu durumu&nbsp; d\u00fczeltmek i\u00e7in Log4Net appender\u2019lar\u0131n\u0131n header ve footer \u00f6zelliklerini kullanmak akla gelebilir. Header yard\u0131m\u0131yla g\u00fcnl\u00fck dosyas\u0131n\u0131n en ba\u015f\u0131na bir ba\u015flang\u0131\u00e7 d\u00fc\u011f\u00fcm\u00fc ve xslt dosyam\u0131za bir at\u0131f eklenebilir; fakat peki ya footer? Dosyam\u0131z\u0131n i\u00e7eri\u011fini ne zaman inceleyece\u011fimiz belli olmad\u0131\u011f\u0131 i\u00e7in bu yakla\u015f\u0131m \u00e7\u00f6z\u00fcm olmayacakt\u0131r. Log4Net footer\u2019\u0131 sadece dosyay\u0131 kapat\u0131rken koyacakt\u0131r. Bunun anlam\u0131 ise hen\u00fcz kapanmam\u0131\u015f, loglar\u0131n yaz\u0131lmaya devam etti\u011fi bir s\u0131rada g\u00fcnl\u00fck i\u00e7eri\u011finin ge\u00e7erli bir xml olmayaca\u011f\u0131d\u0131r. Peki bu durumda ne yapmal\u0131y\u0131z?<\/p>\n\n\n\n<p>&nbsp; Bu noktada san\u0131r\u0131m biraz xml bilgisi faydal\u0131 olacakt\u0131r; xml tan\u0131mlamas\u0131 bize bir xml dosyas\u0131 i\u00e7erisinde bir ba\u015fka xml dosyas\u0131na at\u0131fta bulunma \u015fans\u0131 sunmakta. <strong>ENTITY<\/strong> anahtar kelimesi yard\u0131m\u0131yla yap\u0131labilecek bu i\u015flemi en basit haliyle a\u015fa\u011f\u0131da bulabilirsiniz;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"xml\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;!ENTITY [isim] SYSTEM [konum]><\/pre>\n\n\n\n<p>&nbsp; Bu tan\u0131mlamada<em> [isim]<\/em> yaz\u0131l\u0131 yere verdi\u011fimiz de\u011fer harici dosyam\u0131za bir referans, <em>[konum]<\/em> yaz\u0131l\u0131 yere verdi\u011fimiz de\u011fer ise harici dosyam\u0131z\u0131n konum bilgisi olacakt\u0131r. Bunu ayn\u0131 bir de\u011fi\u015fken tan\u0131m\u0131 gibi d\u00fc\u015f\u00fcnebilirsiniz, <em>[isim]<\/em> de\u011fi\u015fkenimizi ad\u0131 olurken, <em>[konum]<\/em> ile belirtilen dosya i\u00e7eri\u011fi de\u011fi\u015fkenimizi de\u011feri olacakt\u0131r. Bu tan\u0131mlama ard\u0131ndan &amp; ve ; karakterleri aras\u0131na de\u011fi\u015fken ad\u0131n\u0131 verek i\u00e7eri\u011fi ana xml dosyam\u0131zda istedi\u011fimiz noktada kullanabiliriz.<\/p>\n\n\n\n<p>&nbsp;&nbsp; Xml ile ilgili bu detay bilgi ard\u0131ndan san\u0131r\u0131m g\u00fcnl\u00fck dosyam\u0131z\u0131n bir ana d\u00fc\u011f\u00fcme sahip olmamas\u0131 problemini nas\u0131l a\u015fabilece\u011fimiz konusunda kafan\u0131zda yeni fikirler olu\u015fmu\u015ftur. Olu\u015fturaca\u011f\u0131m\u0131z ikinci bir xml dosyas\u0131na ihtiyac\u0131m\u0131z olan ana d\u00fc\u011f\u00fcm\u00fc koyarak i\u00e7eri\u011fini g\u00fcnl\u00fck dosyam\u0131z\u0131 referans g\u00f6sterek doldurabiliriz. Bu durumda, olu\u015fturaca\u011f\u0131m\u0131z ikinci dosyam\u0131z a\u015fa\u011f\u0131daki \u015fekilde olmal\u0131d\u0131r;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"xml\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?xml version='1.0' encoding='utf-8'?>\n&lt;!DOCTYPE log4j:eventSet SYSTEM 'log4j.dtd' [&lt;!ENTITY data SYSTEM 'Log.xml'>]>\n&lt;log4j:eventSet version='1.2' xmlns:log4j='http:\/\/jakarta.apache.org\/log4j'>&data;&lt;\/log4j:eventSet><\/pre>\n\n\n\n<p>&nbsp; Benim gibi daha \u00e7ok XSD d\u00fcnyas\u0131nda bulunuyorsan\u0131z akl\u0131n\u0131za <em>log4j:event<\/em> tan\u0131mlamas\u0131n\u0131n ne oldu\u011fu sorusu gelebilir. Bu tan\u0131mlama bize \u00f6zel \u015fema tan\u0131mlamas\u0131 yapabilme olana\u011f\u0131 sunmakta. K\u0131saca taray\u0131c\u0131ya kendi tasarlad\u0131\u011f\u0131m\u0131z bir xml dosyas\u0131yla kar\u015f\u0131 kar\u015f\u0131ya oldu\u011funu ve bunun \u015femas\u0131n\u0131n da log4j.dtd dosyas\u0131 i\u00e7erisinde bulunabilece\u011fini belirtmekteyiz. Taray\u0131c\u0131 otomatik olarak \u015femay\u0131 tan\u0131yacak, log.xml dosyas\u0131 i\u00e7eri\u011fini de bu dosya i\u00e7erisine yerle\u015ftirecektir. Bu durumda nihayi g\u00f6r\u00fcnt\u00fcm\u00fczde ana d\u00fc\u011f\u00fcm i\u00e7erisinde log girdilerimiz bulunacak ve d\u00fczg\u00fcn bir xml\u2019e sahip olaca\u011f\u0131z. Olu\u015fturdu\u011fumuz bu ikinci dosyay\u0131 bir browser ile a\u00e7acak olursan\u0131z a\u015fa\u011f\u0131daki g\u00f6r\u00fcld\u00fc\u011f\u00fc gibi tam bir xml ile kar\u015f\u0131la\u015facaks\u0131n\u0131z;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/09\/log4NetXml.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/09\/log4NetXml_thumb.png\" alt=\"Log dosyas\u0131 i\u00e7eri\u011finin <!ENTITY data SYSTEM 'Log.xml'&gt; kullan\u0131larak ikinci bir dosyaya eklenmi\u015f hali\"\/><\/a><\/figure>\n\n\n\n<p>&nbsp;&nbsp; Elimizde art\u0131k d\u00fczg\u00fcn bir xml oldu\u011funa g\u00f6re xslt kullanarak bunu html\u2019e d\u00f6n\u00fc\u015ft\u00fcrebilmekte bir engel yok. Bunu i\u00e7in log4j:eventSet ana d\u00fc\u011f\u00fcm\u00fcnden hemen \u00f6nce a\u015fa\u011f\u0131da tan\u0131mlama ile xslt i\u015flemini tetikleyebiliriz;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"xml\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?xml-stylesheet type='text\/xsl' href='Log2Html.xslt'?><\/pre>\n\n\n\n<p>&nbsp; A\u015fa\u011f\u0131da ise en basit haliyle log dosyam\u0131z\u0131 html\u2019e d\u00f6n\u00fc\u015ft\u00fcrecek olan xslt\u2019yi bulabilirsiniz;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"xml\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;\n&lt;xsl:stylesheet version=&quot;1.0&quot;\n         xmlns:xsl=&quot;http:\/\/www.w3.org\/1999\/XSL\/Transform&quot;\n         xmlns:log4j=&quot;http:\/\/jakarta.apache.org\/log4j&quot;&gt;\n &lt;xsl:output method=&quot;html&quot; doctype-system=&quot;http:\/\/www.w3.org\/TR\/xhtml1\/DTD\/xhtml1-strict.dtd&quot; doctype-public=&quot;-\/\/W3C\/\/DTD XHTML 1.0 Strict\/\/EN&quot; indent=&quot;yes&quot; \/&gt;\n\n &lt;xsl:template match=&quot;\/&quot;&gt;\n  &lt;html lang=&quot;tr-TR&quot; xml:lang=&quot;tr-TR&quot; xmlns=&quot;http:\/\/www.w3.org\/1999\/xhtml&quot;&gt;\n   &lt;head&gt;\n    &lt;title&gt;Uygulama Loglar\u0131&lt;\/title&gt;      &lt;\/head&gt;\n   &lt;body&gt;\n    &lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border=&quot;1&quot; class=&quot;display&quot; id=&quot;uygulamaLoglari&quot;&gt;\n        &lt;thead&gt;\n            &lt;tr&gt;\n               &lt;th width=&quot;10&quot;&gt;Id&lt;\/th&gt;\n               &lt;th width=&quot;138&quot;&gt;Zaman&lt;\/th&gt;\n               &lt;th width=&quot;70&quot;&gt;Seviye&lt;\/th&gt;\n               &lt;th width=&quot;100&quot;&gt;S\u0131n\u0131f&lt;\/th&gt;\n               &lt;th&gt;Mesaj&lt;\/th&gt;\n            &lt;\/tr&gt;\n        &lt;\/thead&gt;\n        &lt;tbody&gt;\n      &lt;xsl:for-each select=&quot;log4j:eventSet\/event&quot;&gt;\n       &lt;tr&gt;\n        &lt;td&gt;\n         &lt;xsl:value-of select=&quot;position()&quot;\/&gt;\n        &lt;\/td&gt;\n        &lt;td&gt;\n         &lt;xsl:call-template name=&quot;FormatDate&quot;&gt;\n          &lt;xsl:with-param name=&quot;DateTime&quot; select=&quot;@timestamp&quot;\/&gt;\n         &lt;\/xsl:call-template&gt;\n        &lt;\/td&gt;\n        &lt;td&gt;\n         &lt;xsl:value-of select=&quot;@level&quot;\/&gt;\n        &lt;\/td&gt;\n        &lt;td&gt;\n         &lt;xsl:value-of select=&quot;@logger&quot;\/&gt;\n        &lt;\/td&gt;\n        &lt;td&gt;\n         &lt;xsl:value-of select=&quot;message\/text()&quot;\/&gt;\n        &lt;\/td&gt;\n       &lt;\/tr&gt;\n      &lt;\/xsl:for-each&gt;\n     &lt;\/tbody&gt;\n    &lt;\/table&gt;\n   &lt;\/body&gt;\n  &lt;\/html&gt;\n &lt;\/xsl:template&gt;\n\n &lt;xsl:template name=&quot;FormatDate&quot;&gt;\n  &lt;xsl:param name=&quot;DateTime&quot; \/&gt;\n  &lt;xsl:variable name=&quot;mo&quot;&gt;\n   &lt;xsl:value-of select=&quot;substring($DateTime,6,2)&quot; \/&gt;\n  &lt;\/xsl:variable&gt;\n  &lt;xsl:variable name=&quot;day&quot;&gt;\n   &lt;xsl:value-of select=&quot;substring($DateTime,9,2)&quot; \/&gt;\n  &lt;\/xsl:variable&gt;\n  &lt;xsl:variable name=&quot;year&quot;&gt;\n   &lt;xsl:value-of select=&quot;substring($DateTime,1,4)&quot; \/&gt;\n  &lt;\/xsl:variable&gt;\n  &lt;xsl:variable name=&quot;time&quot;&gt;\n   &lt;xsl:value-of select=&quot;substring($DateTime,12,8)&quot; \/&gt;\n  &lt;\/xsl:variable&gt;\n  &lt;xsl:variable name=&quot;hh&quot;&gt;\n   &lt;xsl:value-of select=&quot;substring($time,1,2)&quot; \/&gt;\n  &lt;\/xsl:variable&gt;\n  &lt;xsl:variable name=&quot;mm&quot;&gt;\n   &lt;xsl:value-of select=&quot;substring($time,4,2)&quot; \/&gt;\n  &lt;\/xsl:variable&gt;\n  &lt;xsl:variable name=&quot;ss&quot;&gt;\n   &lt;xsl:value-of select=&quot;substring($time,7,2)&quot; \/&gt;\n  &lt;\/xsl:variable&gt;\n  &lt;xsl:value-of select=&quot;$day&quot;\/&gt;\n  &lt;xsl:value-of select=&quot;&#039;.&#039;&quot;\/&gt;\n  &lt;xsl:value-of select=&quot;$mo&quot;\/&gt;\n  &lt;xsl:value-of select=&quot;&#039;.&#039;&quot;\/&gt;\n  &lt;xsl:value-of select=&quot;$year&quot;\/&gt;\n  &lt;xsl:value-of select=&quot;&#039; &#039;&quot;\/&gt;\n  &lt;xsl:value-of select=&quot;$hh&quot;\/&gt;\n  &lt;xsl:value-of select=&quot;&#039;:&#039;&quot;\/&gt;\n  &lt;xsl:value-of select=&quot;$mm&quot;\/&gt;\n  &lt;xsl:value-of select=&quot;&#039;:&#039;&quot;\/&gt;\n  &lt;xsl:value-of select=&quot;$ss&quot;\/&gt;\n &lt;\/xsl:template&gt;\n&lt;\/xsl:stylesheet&gt;<\/pre>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/09\/xsltArdindanLog.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/09\/xsltArdindanLog_thumb.png\" alt=\"XSLT d\u00f6n\u00fc\u015f\u00fcm\u00fc ard\u0131ndan ortaya \u00e7\u0131kan html i\u00e7eri\u011fi\"\/><\/a><\/figure>\n\n\n\n<p>&nbsp;&nbsp; Bu haliyle art\u0131k log dosyam\u0131z\u0131 browser \u00fczerinden kolayl\u0131kla analiz edebilir, hataya daha kolay ula\u015farak d\u00fczeltebiliriz.<\/p>\n\n\n\n<p>&nbsp;&nbsp; \u0130\u015fin i\u00e7ine biraz da <a href=\"http:\/\/jquery.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">JQuery<\/a> ve <a href=\"http:\/\/www.datatables.net\/\" target=\"_blank\" rel=\"noopener noreferrer\">DataTables<\/a> eklentisini katacak olursak ortaya \u00e7ok daha g\u00fczel sonu\u00e7lar \u00e7\u0131kacakt\u0131r. A\u015fa\u011f\u0131da, yaz\u0131m\u0131n sonunda sizlerle payla\u015faca\u011f\u0131m ve JQuery, DataTable yard\u0131m\u0131yla olu\u015fturdu\u011fum nihayi xslt d\u00f6n\u00fc\u015f\u00fcm\u00fcn\u00fc g\u00f6rebilirsiniz;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/09\/NihayiXsltDonusumu.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/09\/NihayiXsltDonusumu_thumb.png\" alt=\"JQuery ve DataTable yard\u0131m\u0131yla olu\u015fturdu\u011fum nihayi xslt d\u00f6n\u00fc\u015f\u00fcm\u00fcn\u00fc\"\/><\/a><\/figure>\n\n\n\n<p>&nbsp;&nbsp; Art\u0131k xml olarak tuttu\u011funuz g\u00fcnl\u00fck dosyan\u0131z\u0131n i\u00e7eri\u011fini kolayl\u0131kla&nbsp; bir browser i\u00e7eri\u011finde g\u00f6rebilir, filtreleme yapabilir, s\u00fct\u00fcnlar\u0131 s\u0131ralayabilir, sayfalama ile daha temiz bir g\u00f6r\u00fcn\u00fcm elde edebilirsiniz. \u00dcstelik t\u00fcm bunlar\u0131 bir ka\u00e7 basit ad\u0131m ile yapacaks\u0131n\u0131z. Bunu bir ad\u0131m daha ileri ta\u015f\u0131mak isterseniz, basit bir uygulama olu\u015fturarak formunuzun \u00fczerine web browser kontrol\u00fcn\u00fc koyabilir ve loglar\u0131 bu browser \u00fczerinde kullan\u0131c\u0131lar\u0131n\u0131za g\u00f6sterebilirsiniz.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/09\/OrnekLog4NetXsltUygulamasi.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/09\/OrnekLog4NetXsltUygulamasi_thumb.png\" alt=\"\u00d6rnek bir Log4Net g\u00fcnl\u00fck dosyas\u0131 Xslt d\u00f6n\u00fc\u015f\u00fcm\u00fc Uygulamas\u0131\"\/><\/a><\/figure>\n\n\n\n<p><a href=\"https:\/\/fatihboy.com\/en\/post\/log4net-gunluklerine-guzel-bir-arayuz\/log4net-xslt\/\" rel=\"attachment wp-att-9293\">JQuery ve DataTable yard\u0131m\u0131yla olu\u015fturdu\u011fum nihayi xslt d\u00f6n\u00fc\u015f\u00fcm\u00fcn\u00fc<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>&nbsp;&nbsp; Daha \u00f6nceki makalelerimde Log4Net\u2019ten ve biz yaz\u0131l\u0131mc\u0131lar\u0131n hayat\u0131n\u0131 nas\u0131l kolayla\u015ft\u0131rd\u0131\u011f\u0131ndan sizlere bahsetmi\u015ftim. Bu makalemde ise sizlere Log4Net ile olu\u015fturulan uygulama g\u00fcnl\u00fcklerini browser \u00fczerinden nas\u0131l daha g\u00fczel ve anla\u015f\u0131l\u0131r olarak g\u00f6sterebilece\u011finizi anlataca\u011f\u0131m. &nbsp;&nbsp; Kolay i\u015flenebilmesi ve pek \u00e7ok ara\u00e7 ile desteklenmesi nedeniyle g\u00fcn\u00fcm\u00fczde pek \u00e7ok veri yaz\u0131l\u0131mc\u0131lar taraf\u0131ndan xml format\u0131nda tutulmakta. \u00d6yle ki, baz\u0131 web&#8230;<\/p>\n<p><a class=\"read-more\" href=\"https:\/\/fatihboy.com\/en\/log4net-gunluklerine-guzel-bir-arayuz\/\">Read More<\/a><\/p>","protected":false},"author":1,"featured_media":9370,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[77,28],"tags":[118,87],"class_list":["post-9290","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-csharp","category-turkce","tag-hata-ayiklama","tag-log4net"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Log4Net G\u00fcnl\u00fcklerine G\u00fczel Bir Aray\u00fcz - Fatih Boy<\/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:\/\/fatihboy.com\/en\/log4net-gunluklerine-guzel-bir-arayuz\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Log4Net G\u00fcnl\u00fcklerine G\u00fczel Bir Aray\u00fcz - Fatih Boy\" \/>\n<meta property=\"og:description\" content=\"&nbsp;&nbsp; Daha \u00f6nceki makalelerimde Log4Net\u2019ten ve biz yaz\u0131l\u0131mc\u0131lar\u0131n hayat\u0131n\u0131 nas\u0131l kolayla\u015ft\u0131rd\u0131\u011f\u0131ndan sizlere bahsetmi\u015ftim. Bu makalemde ise sizlere Log4Net ile olu\u015fturulan uygulama g\u00fcnl\u00fcklerini browser \u00fczerinden nas\u0131l daha g\u00fczel ve anla\u015f\u0131l\u0131r olarak g\u00f6sterebilece\u011finizi anlataca\u011f\u0131m. &nbsp;&nbsp; Kolay i\u015flenebilmesi ve pek \u00e7ok ara\u00e7 ile desteklenmesi nedeniyle g\u00fcn\u00fcm\u00fczde pek \u00e7ok veri yaz\u0131l\u0131mc\u0131lar taraf\u0131ndan xml format\u0131nda tutulmakta. \u00d6yle ki, baz\u0131 web...Read More\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihboy.com\/en\/log4net-gunluklerine-guzel-bir-arayuz\/\" \/>\n<meta property=\"og:site_name\" content=\"Fatih Boy\" \/>\n<meta property=\"article:published_time\" content=\"2011-09-25T18:53:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/09\/unique_thumb.png\" \/>\n\t<meta property=\"og:image:width\" content=\"209\" \/>\n\t<meta property=\"og:image:height\" content=\"208\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Fatih Boy\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Boy\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihboy.com\/log4net-gunluklerine-guzel-bir-arayuz\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihboy.com\/log4net-gunluklerine-guzel-bir-arayuz\/\"},\"author\":{\"name\":\"Fatih Boy\",\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"headline\":\"Log4Net G\u00fcnl\u00fcklerine G\u00fczel Bir Aray\u00fcz\",\"datePublished\":\"2011-09-25T18:53:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihboy.com\/log4net-gunluklerine-guzel-bir-arayuz\/\"},\"wordCount\":1123,\"commentCount\":7,\"publisher\":{\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"image\":{\"@id\":\"https:\/\/fatihboy.com\/log4net-gunluklerine-guzel-bir-arayuz\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/09\/unique_thumb.png\",\"keywords\":[\"Hata Ayiklama\",\"Log4Net\"],\"articleSection\":[\"C#\",\"T\u00fcrk\u00e7e\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihboy.com\/log4net-gunluklerine-guzel-bir-arayuz\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihboy.com\/log4net-gunluklerine-guzel-bir-arayuz\/\",\"url\":\"https:\/\/fatihboy.com\/log4net-gunluklerine-guzel-bir-arayuz\/\",\"name\":\"Log4Net G\u00fcnl\u00fcklerine G\u00fczel Bir Aray\u00fcz - Fatih Boy\",\"isPartOf\":{\"@id\":\"https:\/\/fatihboy.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/fatihboy.com\/log4net-gunluklerine-guzel-bir-arayuz\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/fatihboy.com\/log4net-gunluklerine-guzel-bir-arayuz\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/09\/unique_thumb.png\",\"datePublished\":\"2011-09-25T18:53:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihboy.com\/log4net-gunluklerine-guzel-bir-arayuz\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihboy.com\/log4net-gunluklerine-guzel-bir-arayuz\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fatihboy.com\/log4net-gunluklerine-guzel-bir-arayuz\/#primaryimage\",\"url\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/09\/unique_thumb.png\",\"contentUrl\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/09\/unique_thumb.png\",\"width\":209,\"height\":208},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihboy.com\/log4net-gunluklerine-guzel-bir-arayuz\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/fatihboy.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Log4Net G\u00fcnl\u00fcklerine G\u00fczel Bir Aray\u00fcz\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihboy.com\/#website\",\"url\":\"https:\/\/fatihboy.com\/\",\"name\":\"Fatih Boy\",\"description\":\"Ki\u015fisel Web Sitesi\",\"publisher\":{\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihboy.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\",\"name\":\"Fatih Boy\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g\",\"caption\":\"Fatih Boy\"},\"logo\":{\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/image\/\"},\"sameAs\":[\"https:\/\/fatihboy.com\"],\"url\":\"https:\/\/fatihboy.com\/en\/author\/fatih\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Log4Net G\u00fcnl\u00fcklerine G\u00fczel Bir Aray\u00fcz - Fatih Boy","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:\/\/fatihboy.com\/en\/log4net-gunluklerine-guzel-bir-arayuz\/","og_locale":"en_US","og_type":"article","og_title":"Log4Net G\u00fcnl\u00fcklerine G\u00fczel Bir Aray\u00fcz - Fatih Boy","og_description":"&nbsp;&nbsp; Daha \u00f6nceki makalelerimde Log4Net\u2019ten ve biz yaz\u0131l\u0131mc\u0131lar\u0131n hayat\u0131n\u0131 nas\u0131l kolayla\u015ft\u0131rd\u0131\u011f\u0131ndan sizlere bahsetmi\u015ftim. Bu makalemde ise sizlere Log4Net ile olu\u015fturulan uygulama g\u00fcnl\u00fcklerini browser \u00fczerinden nas\u0131l daha g\u00fczel ve anla\u015f\u0131l\u0131r olarak g\u00f6sterebilece\u011finizi anlataca\u011f\u0131m. &nbsp;&nbsp; Kolay i\u015flenebilmesi ve pek \u00e7ok ara\u00e7 ile desteklenmesi nedeniyle g\u00fcn\u00fcm\u00fczde pek \u00e7ok veri yaz\u0131l\u0131mc\u0131lar taraf\u0131ndan xml format\u0131nda tutulmakta. \u00d6yle ki, baz\u0131 web...Read More","og_url":"https:\/\/fatihboy.com\/en\/log4net-gunluklerine-guzel-bir-arayuz\/","og_site_name":"Fatih Boy","article_published_time":"2011-09-25T18:53:00+00:00","og_image":[{"width":209,"height":208,"url":"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/09\/unique_thumb.png","type":"image\/png"}],"author":"Fatih Boy","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Fatih Boy","Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihboy.com\/log4net-gunluklerine-guzel-bir-arayuz\/#article","isPartOf":{"@id":"https:\/\/fatihboy.com\/log4net-gunluklerine-guzel-bir-arayuz\/"},"author":{"name":"Fatih Boy","@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"headline":"Log4Net G\u00fcnl\u00fcklerine G\u00fczel Bir Aray\u00fcz","datePublished":"2011-09-25T18:53:00+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihboy.com\/log4net-gunluklerine-guzel-bir-arayuz\/"},"wordCount":1123,"commentCount":7,"publisher":{"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"image":{"@id":"https:\/\/fatihboy.com\/log4net-gunluklerine-guzel-bir-arayuz\/#primaryimage"},"thumbnailUrl":"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/09\/unique_thumb.png","keywords":["Hata Ayiklama","Log4Net"],"articleSection":["C#","T\u00fcrk\u00e7e"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihboy.com\/log4net-gunluklerine-guzel-bir-arayuz\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fatihboy.com\/log4net-gunluklerine-guzel-bir-arayuz\/","url":"https:\/\/fatihboy.com\/log4net-gunluklerine-guzel-bir-arayuz\/","name":"Log4Net G\u00fcnl\u00fcklerine G\u00fczel Bir Aray\u00fcz - Fatih Boy","isPartOf":{"@id":"https:\/\/fatihboy.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fatihboy.com\/log4net-gunluklerine-guzel-bir-arayuz\/#primaryimage"},"image":{"@id":"https:\/\/fatihboy.com\/log4net-gunluklerine-guzel-bir-arayuz\/#primaryimage"},"thumbnailUrl":"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/09\/unique_thumb.png","datePublished":"2011-09-25T18:53:00+00:00","breadcrumb":{"@id":"https:\/\/fatihboy.com\/log4net-gunluklerine-guzel-bir-arayuz\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihboy.com\/log4net-gunluklerine-guzel-bir-arayuz\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fatihboy.com\/log4net-gunluklerine-guzel-bir-arayuz\/#primaryimage","url":"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/09\/unique_thumb.png","contentUrl":"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/09\/unique_thumb.png","width":209,"height":208},{"@type":"BreadcrumbList","@id":"https:\/\/fatihboy.com\/log4net-gunluklerine-guzel-bir-arayuz\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fatihboy.com\/"},{"@type":"ListItem","position":2,"name":"Log4Net G\u00fcnl\u00fcklerine G\u00fczel Bir Aray\u00fcz"}]},{"@type":"WebSite","@id":"https:\/\/fatihboy.com\/#website","url":"https:\/\/fatihboy.com\/","name":"Fatih Boy","description":"Ki\u015fisel Web Sitesi","publisher":{"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihboy.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158","name":"Fatih Boy","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fatihboy.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g","caption":"Fatih Boy"},"logo":{"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/image\/"},"sameAs":["https:\/\/fatihboy.com"],"url":"https:\/\/fatihboy.com\/en\/author\/fatih\/"}]}},"brizy_media":[],"_links":{"self":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts\/9290","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/comments?post=9290"}],"version-history":[{"count":0,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts\/9290\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/media\/9370"}],"wp:attachment":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/media?parent=9290"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/categories?post=9290"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/tags?post=9290"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}