{"id":839,"date":"2024-02-25T15:30:47","date_gmt":"2024-02-25T12:30:47","guid":{"rendered":"https:\/\/melic.com\/wp1\/?p=839"},"modified":"2024-02-25T15:32:05","modified_gmt":"2024-02-25T12:32:05","slug":"docker-logs-konteynerlarinizin-loglarini-inceleme","status":"publish","type":"post","link":"https:\/\/melic.com\/wp1\/docker-logs-konteynerlarinizin-loglarini-inceleme\/","title":{"rendered":"Docker Logs &#8211; Konteynerlar\u0131n\u0131z\u0131n Loglar\u0131n\u0131 \u0130nceleme"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Bir \u00e7ok konteyner sistem kay\u0131tlar\u0131 ve hatalar\u0131n\u0131n \u00e7\u0131kt\u0131lar\u0131n\u0131 olu\u015fturur standart bir dosyaya yazmak yerine \/dev\/stdout ve \/dev\/stderr noktalar\u0131 olarak,bu sayede &#8220;docker logs&#8221; komutu ile bu sistem kay\u0131tlar\u0131n\u0131 okuyabilirsiniz.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bu loglara eri\u015fmek i\u00e7in komut i\u015fte \u015fu \u015fekilde :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ docker logs &#91;KONTEYNER_ID]\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Bu konteynerlar\u0131n ID lerini nas\u0131l bulaca\u011f\u0131z diyorsan\u0131z onun komutu \u015f\u00f6yle :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ docker ps<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Peki bir \u015fekilde bir debug yap\u0131yor olabilirsiniz yani anl\u0131k loglar\u0131 aktif olarak g\u00f6rmek isteyebilirsiniz , bunun bir yolu var m\u0131 derseniz , i\u015fte onunda komutu bu :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ docker logs --follow &#91;KONTEYNER_ID]\n\nya da\n\n$ docker logs -f &#91;KONTEYNER_ID]<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Default olarak yani standartta docker logs komutu size konteynerin \u00e7al\u0131\u015fmaya ba\u015flad\u0131\u011f\u0131 andan itibaren var olan t\u00fcm kay\u0131tlar\u0131\/loglar\u0131 g\u00f6sterecektir. Uzun s\u00fcredir aktif bir konteyner \u00fczerinde \u00e7al\u0131\u015f\u0131yorsan\u0131z bu \u00e7ok fazla sat\u0131r demek. Bu kadar kay\u0131tlar ilgilenmiyorsan\u0131za ve s\u00fcrekliyukar\u0131 a\u015f\u015fa\u011f\u0131 gidip gelmek istemiyorsan\u0131z, -ki -f komutu her sat\u0131r yenilemesinde sizi en alta atacakt\u0131r; sizin ilgilendi\u011finiz son 100 sat\u0131r\u0131 g\u00f6rmek isteyebilirsiniz. \u0130\u015fte bunu yapabilmek i\u00e7in ihtiyac\u0131n\u0131z olan komut ise \u015fudur :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ docker logs --follow --tail 100 &#91;KONTEYNER_ID]\n\nya da\n\n$ docker logs -f --tail 100 &#91;KONTEYNER_ID]<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><br>peki son sat\u0131r\u0131 takip etmek istiyorsan\u0131z o zaman 100 yerine 0 yazman\u0131z kafi. Bu arada bende al\u0131\u015fkanl\u0131ktan kullanm\u0131yorum ama yukar\u0131daki komutun daha da k\u0131sa hali \u015f\u00f6yle :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ docker logs -f -n 100 &#91;KONTEYNER_ID]<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Dikkat ettiyseniz &#8211;tail yerine -n kulland\u0131m.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Son bir hat\u0131rlatma \/dev\/stdout  ve \/dev\/stderr lar\u0131 grep komutu ile filtreleyemezsiniz. Bunu yapabilmenin tek yolu komutu bir dosyaya yazman\u0131z. 100 sat\u0131rl\u0131k bir kay\u0131tlar\u0131 dosyaya atmak i\u00e7in komut \u015f\u00f6yle olmal\u0131 :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ docker logs --tail 100 &#91;KONTEYNER_ID] <strong>2<\/strong>&gt; ~\/dosyaadi.log<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Logun yani kayd\u0131n dosyaya yazmas\u0131 i\u00e7in 2 rakam\u0131n\u0131 kullanmal\u0131s\u0131n\u0131z aksi halde ekrana basacakt\u0131r. Yani dosyan\u0131z olu\u015fsa da i\u00e7ine veriyi atmayacakt\u0131r.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0130yi hata ay\u0131klamalar&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bir \u00e7ok konteyner sistem kay\u0131tlar\u0131 ve hatalar\u0131n\u0131n \u00e7\u0131kt\u0131lar\u0131n\u0131 olu\u015fturur standart bir dosyaya yazmak yerine \/dev\/stdout ve \/dev\/stderr noktalar\u0131 olarak,bu sayede &#8220;docker logs&#8221; komutu ile bu sistem kay\u0131tlar\u0131n\u0131 okuyabilirsiniz. Bu loglara eri\u015fmek i\u00e7in komut i\u015fte \u015fu \u015fekilde : $ docker logs &#91;KONTEYNER_ID] Bu konteynerlar\u0131n ID lerini nas\u0131l bulaca\u011f\u0131z diyorsan\u0131z onun komutu&#8230;<\/p>\n","protected":false},"author":1,"featured_media":812,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[384,1,54],"tags":[410,409,385,408,411,407],"class_list":["post-839","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-docker","category-genel","category-programala-dilleri-ve-programlamaya-giris","tag-container","tag-debugging","tag-docker","tag-docker-logs","tag-logging","tag-logs"],"_links":{"self":[{"href":"https:\/\/melic.com\/wp1\/wp-json\/wp\/v2\/posts\/839","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/melic.com\/wp1\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/melic.com\/wp1\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/melic.com\/wp1\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/melic.com\/wp1\/wp-json\/wp\/v2\/comments?post=839"}],"version-history":[{"count":3,"href":"https:\/\/melic.com\/wp1\/wp-json\/wp\/v2\/posts\/839\/revisions"}],"predecessor-version":[{"id":842,"href":"https:\/\/melic.com\/wp1\/wp-json\/wp\/v2\/posts\/839\/revisions\/842"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/melic.com\/wp1\/wp-json\/wp\/v2\/media\/812"}],"wp:attachment":[{"href":"https:\/\/melic.com\/wp1\/wp-json\/wp\/v2\/media?parent=839"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/melic.com\/wp1\/wp-json\/wp\/v2\/categories?post=839"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/melic.com\/wp1\/wp-json\/wp\/v2\/tags?post=839"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}