Your IP : 216.73.217.117


Current Path : /proc/thread-self/root/usr/share/doc/apache2-doc/manual/tr/
Upload File :
Current File : //proc/thread-self/root/usr/share/doc/apache2-doc/manual/tr/logs.html

<!DOCTYPE html SYSTEM "about:legacy-compat">
<html lang="tr"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="width=device-width, initial-scale=1" name="viewport">
<!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>G&uuml;nl&uuml;k Dosyaları - Apache HTTP Sunucusu S&uuml;r&uuml;m 2.4</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet">
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size">
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css"><link rel="stylesheet" type="text/css" href="../style/css/prettify.css">
<script src="../style/scripts/prettify.min.js">
</script>

<link href="../images/favicon.png" rel="shortcut icon"></head>
<body id="manual-page"><div id="page-header">
<p class="menu"><a href="./mod/index.html">Mod&uuml;ller</a> | <a href="./mod/quickreference.html">Y&ouml;nergeler</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Hata bildir</a></p>
<p class="apache">Apache HTTP Sunucusu S&uuml;r&uuml;m 2.4</p>
<img alt="" src="../images/feather.png"></div>
<div class="up"><a href="./index.html"><img title="<-" alt="<-" src="../images/left.gif"></a></div>
<div id="path">
<a href="https://www.apache.org/">Apache</a> &gt; <a href="https://httpd.apache.org/">HTTP Sunucusu</a> &gt; <a href="https://httpd.apache.org/docs/">Belgeleme</a> &gt; <a href="./index.html">S&uuml;r&uuml;m 2.4</a></div><div id="page-content"><div id="preamble"><h1>G&uuml;nl&uuml;k Dosyaları</h1>
<button aria-label="Toggle language list" class="lang-toggle"><svg xmlns="http://www.w3.org/2000/svg" stroke-width="2" stroke="currentColor" fill="none" viewBox="0 0 24 24" height="16" width="16"><circle r="10" cy="12" cx="12"/><line y2="12" x2="22" y1="12" x1="2"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg></button>
<div class="toplang">
<p><span>Mevcut Diller: </span><a href="../en/logs.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/logs.html" hreflang="fr" rel="alternate" title="Fran&ccedil;ais">&nbsp;fr&nbsp;</a> |
<a href="../ja/logs.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/logs.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/logs.html" title="T&uuml;rk&ccedil;e">&nbsp;tr&nbsp;</a></p>
</div>
<div class="outofdate">Bu &ccedil;eviri g&uuml;ncel olmayabilir. Son değişiklikler i&ccedil;in İngilizce s&uuml;r&uuml;m ge&ccedil;erlidir.</div>

    <p>Bir HTTP sunucusunu verimli şekilde y&ouml;netebilmek i&ccedil;in oluşabilecek
      sorunlardan başka sunucunun başarımı ve etkinliği hakkında da bazı geri
      bildirimler almak gerekir. Apache HTTP Sunucusu &ccedil;ok kapsamlı ve esnek
      bir g&uuml;nl&uuml;kleme yeteneğine sahiptir. Bu belgede sunucunun g&uuml;nl&uuml;kleme
      yeteneğini nasıl yapılandıracağınızdan ve g&uuml;nl&uuml;k kayıtlarını nasıl
      yorumlayacağınızdan bahsedilecektir.</p>
  </div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif"> <a href="#overview">Giriş</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#security">G&uuml;venlik Uyarısı</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#errorlog">Hata G&uuml;nl&uuml;ğ&uuml;</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#permodule">Mod&uuml;llere g&ouml;re g&uuml;nl&uuml;kleme</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#accesslog">Erişim G&uuml;nl&uuml;ğ&uuml;</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#rotation">G&uuml;nl&uuml;k &Ccedil;evrimi</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#piped">Borulu G&uuml;nl&uuml;kler</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#virtualhost">Sanal Konaklar</a></li>
<li><img alt="" src="../images/down.gif"> <a href="#other">Diğer G&uuml;nl&uuml;k Dosyaları</a></li>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
<h2 id="overview">Giriş <a title="Permanent link" href="#overview" class="permalink">&para;</a></h2>
    

  <table class="related"><tr><th>İlgili Mod&uuml;ller</th><th>İlgili Y&ouml;nergeler</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_log_config.html">mod_log_config</a></code></li><li><code class="module"><a href="./mod/mod_log_forensic.html">mod_log_forensic</a></code></li><li><code class="module"><a href="./mod/mod_logio.html">mod_logio</a></code></li><li><code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code></li></ul></td><td></td></tr></table>

  <p>Apache HTTP Sunucusu, isteğin ilk alınışından itibaren, URL eşleme
    işlemleri, bağlantının son &ccedil;&ouml;z&uuml;mlemesi ve bu işlemler sırasına ortaya &ccedil;ıkan
    hatalar da dahil olmak &uuml;zere sunucunuzda meydana gelen herşeyi g&uuml;nl&uuml;klemek
    i&ccedil;in &ccedil;ok &ccedil;eşitli mekanizmalar i&ccedil;erir. Buna ek olarak, g&uuml;nl&uuml;kleme
    yetenekleri sağlayan &uuml;&ccedil;&uuml;nc&uuml; parti mod&uuml;ller de kullanılabilir veya mevcut
    g&uuml;nl&uuml;k dosyalarına girdiler enjekte edilebilir. Ayrıca, CGI programları,
    PHP betikleri ve benzerleri sunucu hata g&uuml;nl&uuml;ğ&uuml;ne kendi iletilerini
    g&ouml;nderebilirler.</p>

  <p>Bu belgede Apache HTTP Sunucusunun standart par&ccedil;ası olan g&uuml;nl&uuml;kleme
    mod&uuml;lleri hakkında bilgi verilecektir.</p>

  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
<h2 id="security">G&uuml;venlik Uyarısı <a title="Permanent link" href="#security" class="permalink">&para;</a></h2>
    

    <p>Apache httpd'nin g&uuml;nl&uuml;k dosyalarını yazdığı dizine yazabilen birinin sunucuyu
      başlatan kullanıcı kimliğine (bu genellikle root olur) erişim
      kazanabileceğine hemen hemen kesin g&ouml;z&uuml;yle bakılabilir. Sonu&ccedil;larının
      neler olacağını kestiremiyorsanız g&uuml;nl&uuml;klerin yazıldığı dizinde <em>hi&ccedil;
      kimseye</em> yazma erişimi vermeyin; ayrıntılı bilgi i&ccedil;in <a href="misc/security_tips.html">g&uuml;venlik ipu&ccedil;ları</a> belgesine
      bakınız.</p>

    <p>Buna ilaveten, g&uuml;nl&uuml;k dosyaları istemci tarafından sağlanmış bilgiler
      de i&ccedil;erebilir. Bu nedenle, k&ouml;t&uuml; niyetli istemcilerin g&uuml;nl&uuml;k dosyalarına
      denetim karakterleri girmeleri olasılığına karşı ham g&uuml;nl&uuml;kler ele
      alınırken dikkatli olunmalıdır.</p>
  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
<h2 id="errorlog">Hata G&uuml;nl&uuml;ğ&uuml; <a title="Permanent link" href="#errorlog" class="permalink">&para;</a></h2>
    
    <table class="related"><tr><th>İlgili Mod&uuml;ller</th><th>İlgili Y&ouml;nergeler</th></tr><tr><td><ul><li><code class="module"><a href="./mod/core.html">core</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/core.html#errorlog">ErrorLog</a></code></li><li><code class="directive"><a href="./mod/core.html#errorlogformat">ErrorLogFormat</a></code></li><li><code class="directive"><a href="./mod/core.html#loglevel">LogLevel</a></code></li></ul></td></tr></table>

    <p>İsmi ve yeri <code class="directive"><a href="./mod/core.html#errorlog">ErrorLog</a></code> y&ouml;nergesi
      ile belirtilen sunucu hata g&uuml;nl&uuml;ğ&uuml;, en &ouml;nemli g&uuml;nl&uuml;k dosyasıdır. Apache
      httpd tarafından istekler işlenirken saptanan hatalar ve tanı bilgileri
      bu dosyaya g&ouml;nderilir. Sunucuyu başlatırken veya sunucu &ccedil;alışırken bir
      sorunla karşılaşıldığında, neyin yanlış gittiğini &ouml;ğrenmek i&ccedil;in
      bakılacak ilk yer burasıdır. G&uuml;nl&uuml;k kaydı &ccedil;oğunlukla sorunun nasıl
      d&uuml;zeltileceği ile ilgili ayrıntıları da i&ccedil;erir.</p>

    <p>Hata g&uuml;nl&uuml;ğ&uuml; normal olarak bir dosyaya yazılır (genellikle, dosyanın
      ismi Unix sistemlerinde <code>error_log</code>, OS/2 ve Windows'ta ise
      <code>error.log</code>'dur). Ayrıca, Unix sistemlerinde sunucunun
      hataları <code>syslog</code>'a veya <a href="#piped">borulamak suretiyle
      bir programa</a> aktarması da m&uuml;mk&uuml;nd&uuml;r.</p>

    <p>Hata g&uuml;nl&uuml;ğ&uuml;n&uuml;n bi&ccedil;emi <code class="directive"><a href="./mod/core.html#errorlogformat">ErrorLogFormat</a></code> y&ouml;nergesi ile belirlenir. Bu y&ouml;nergeyi
      kullanarak g&uuml;nl&uuml;klenen değerleri &ouml;zelleştirebilirsiniz. Bir bi&ccedil;em
      belirtmezseniz &ouml;ntanımlı bi&ccedil;em kullanılır. &Ouml;rnek tipik bir hata iletisi
      i&ccedil;ermektedir:</p>

    <div class="example"><p><code>
    [Fri Sep 09 10:42:29.902022 2011] [core:error] [pid 35708:tid 4328636416]
    [client 72.15.99.187] Dosya yok: /usr/local/apache2/htdocs/favicon.ico
    </code></p></div>

    <p>G&uuml;nl&uuml;k girdisinin ilk &ouml;ğesi iletinin yazıldığı tarih ve saatten oluşur.
      İkincisi iletiyi &uuml;reten mod&uuml;l&uuml;n ismi (bu durumda: core) ile raporlanan
      bilginin &ouml;nem derecesini belirtir. Bunu varsa s&uuml;recin kimliği ve yine
      varsa evre kimliği izler. Sonraki &ouml;ğe hatanın &uuml;retilmesine sebep olan
      istemcinin IP adresini i&ccedil;erir. Kalanı iletinin kendisidir (duruma
      bakılırsa bir dosyaya yapılan istek yerine getirilememiş).</p>

    <p>Hata g&uuml;nl&uuml;ğ&uuml;nde g&ouml;r&uuml;nebilecek ileti &ccedil;eşitliliği olduk&ccedil;a fazladır. &Ccedil;oğu
      yukarıdaki &ouml;rneğin benzeridir. Hata g&uuml;nl&uuml;ğ&uuml; ayrıca, CGI betiklerinin
      hata ayıklama &ccedil;ıktılarını da i&ccedil;erir. Bir CGI betiği tarafından standart
      hataya (<code>stderr</code>) yazılan her t&uuml;rl&uuml; bilgi doğrudan hata
      g&uuml;nl&uuml;ğ&uuml;ne kopyalanır.</p>

    <p>Hata g&uuml;nl&uuml;ğ&uuml;ne ve erişim g&uuml;nl&uuml;ğ&uuml;ne  <code>%L</code> dizgeciği konularak
      erişim g&uuml;nl&uuml;ğ&uuml;ndeki girdi ile hata g&uuml;nl&uuml;ğ&uuml;ndeki girdiyi ilişkilendirecek
      bir g&uuml;nl&uuml;k girdisi kimliği oluşturulabilir.
      <code class="module"><a href="./mod/mod_unique_id.html">mod_unique_id</a></code> y&uuml;kl&uuml;yse g&uuml;nl&uuml;k girdisi kimliği olarak
      onun eşsiz istek kimliği de kullanılır.</p>

    <p>Sunucuyu denerken olası sorunlara karşı hata g&uuml;nl&uuml;ğ&uuml;n&uuml; s&uuml;rekli
      izlemelisiniz. Unix sistemlerinde bunu ş&ouml;yle bir komutla
      sağlayabilirsiniz:</p>

    <div class="example"><p><code>
      tail -f error_log
    </code></p></div>
  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
<h2 id="permodule">Mod&uuml;llere g&ouml;re g&uuml;nl&uuml;kleme <a title="Permanent link" href="#permodule" class="permalink">&para;</a></h2>
    

    <p><code class="directive"><a href="./mod/core.html#loglevel">LogLevel</a></code> y&ouml;nergesi, g&uuml;nl&uuml;k
      iletisinin &uuml;retilmesine sebep olan mod&uuml;le bağlı bir &ouml;nem seviyesi
      belirleyebilmenizi sağlar. Bu yolla sorun yaşadığınız mod&uuml;lle ilgili
      g&uuml;nl&uuml;k musluklarını sonuna kadar a&ccedil;abiliri ek olarak ilgilendiğiniz diğer
      mod&uuml;llerle ilgili ayrıntıları da edinebilirsiniz. &Ouml;zellikle
      <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code> veya <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> gibi
      mod&uuml;llerde yapılmak isteneni denerken neler olup bittiğini ayrıntılarıyla
      bilmek istediğiniz durumlarda kullanışlıdır.</p>

    <p>Bunu <code class="directive">LogLevel</code> y&ouml;nergesinde mod&uuml;l&uuml;n ismini
      belirterek yapabilirsiniz:</p>

    <pre class="prettyprint lang-config">LogLevel info rewrite:trace5</pre>


    <p>Bu satırla ana <code class="directive">LogLevel</code> info'ya ayarlanırken
      <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> i&ccedil;in musluk <code>trace5</code> seviyesine
      kadar a&ccedil;ılmaktadır.</p>

    <div class="note">Bu y&ouml;nerge, Apache HTTP Sunucusunun evvelki s&uuml;r&uuml;mlerinde mevcut olan
      <code>RewriteLog</code> gibi g&uuml;nl&uuml;kleme mod&uuml;llerinin yerini almıştır.
    </div>
  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
<h2 id="accesslog">Erişim G&uuml;nl&uuml;ğ&uuml; <a title="Permanent link" href="#accesslog" class="permalink">&para;</a></h2>
    

    <table class="related"><tr><th>İlgili Mod&uuml;ller</th><th>İlgili Y&ouml;nergeler</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_log_config.html">mod_log_config</a></code></li><li><code class="module"><a href="./mod/mod_setenvif.html">mod_setenvif</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code></li><li><code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code></li></ul></td></tr></table>

    <p>Sunucu erişim g&uuml;nl&uuml;ğ&uuml; sunucu tarafından işleme alınan t&uuml;m istekleri
      kaydeder. Erişim g&uuml;nl&uuml;ğ&uuml;n&uuml;n yeri ve i&ccedil;eriği  <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> y&ouml;nergesi ile belirlenir.
      <code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code> y&ouml;nergesi ile
      g&uuml;nl&uuml;k i&ccedil;eriğini kişiselleştirmek m&uuml;mk&uuml;nd&uuml;r. Bu b&ouml;l&uuml;mde sunucunun
      bilgileri erişim g&uuml;nl&uuml;ğ&uuml;ne kaydetmesi i&ccedil;in nasıl yapılandırılacağından
      bahsedilecektir.</p>

    <p>Bilginin erişim g&uuml;nl&uuml;ğ&uuml;nde saklanması g&uuml;nl&uuml;k y&ouml;netiminde ilk
      adımı oluşturur.  Sonraki adım yararlı istatistikleri &uuml;retmek i&ccedil;in bu
      bilgiyi incelemektir. G&uuml;nl&uuml;k incelemesi bu belgenin kapsamına dahil
      değildir ve aslında bu işlem sunucunun yaptığı işlerden biri
      değildir.</p>

    <p>Apache httpd'nin &ccedil;eşitli s&uuml;r&uuml;mlerinde erişim g&uuml;nl&uuml;klerini denetlemek
      i&ccedil;in kullanılan diğer mod&uuml;ller ve y&ouml;nergeler arasında mod_log_referer,
      mod_log_agent mod&uuml;lleri ve <code>TransferLog</code> y&ouml;nergesi
      sayılabilir. Artık, daha eski t&uuml;m diğer y&ouml;nergelerin işlevselliklerini
      bir araya toplayan <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> y&ouml;nergesi kullanılmaktadır.</p>

    <p>Erişim g&uuml;nl&uuml;ğ&uuml;n&uuml;n girdi bi&ccedil;emi kolayca isteğe g&ouml;re
      d&uuml;zenlenebilmektedir. Bi&ccedil;emi belirtmekte kullanılan bi&ccedil;em dizgesi, C
      tarzı printf(1) bi&ccedil;em dizgesini andırır. Sonraki b&ouml;l&uuml;mlerde bazı
      &ouml;rneklere yer verilmiştir. Bi&ccedil;em dizgesini oluşturan belirte&ccedil;lerin tam
      listesi i&ccedil;in <code class="module"><a href="./mod/mod_log_config.html">mod_log_config</a></code> belgesinin <a href="mod/mod_log_config.html#formats">G&uuml;nl&uuml;k Girdilerinin
      Kişiselleştirilmesi</a> b&ouml;l&uuml;m&uuml;ne bakınız.</p>

    <h3 id="common">Ortak G&uuml;nl&uuml;k Bi&ccedil;emi (OGB)</h3>
      

      <p>Erişim g&uuml;nl&uuml;ğ&uuml; i&ccedil;in sıklıkla kullanılan bir yapılandırma:</p>

      <pre class="prettyprint lang-config">LogFormat "%h %l %u %t \"%r\" %&gt;s %b" common
CustomLog logs/access_log common</pre>


      <p>İlk satırda belli bir bi&ccedil;em dizgesi i&ccedil;in <code>common</code> diye bir
        <em>takma ad</em> tanımlanmaktadır. Bi&ccedil;em dizgesi, sunucuya hangi
        belli bir bilgi par&ccedil;alarını g&uuml;nl&uuml;kleyeceğini s&ouml;yleyen % imli bi&ccedil;em
        belirte&ccedil;lerinden oluşur. Bi&ccedil;em dizgesine ayrıca dizgesel sabitler de
        yerleştirilebilir ve bunlar erişim g&uuml;nl&uuml;ğ&uuml;ne oldukları gibi
        kopyalanırlar. Bi&ccedil;em dizgesi i&ccedil;inde &ccedil;ift tırnak karakteri (") bi&ccedil;em
        dizgesini vaktinden &ouml;nce sonlandırmaması i&ccedil;in ters b&ouml;l&uuml; &ccedil;izgisi ile
        &ouml;ncelenmelidir. Bi&ccedil;em dizgesi ayrıca, satır sonlarını belirtmek i&ccedil;in
        "<code>\n</code>" ve sekmeleri belirtmek i&ccedil;in "<code>\t</code>"
        denetim karakterlerini de i&ccedil;erebilir.</p>

      <p><code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> y&ouml;nergesi
        evvelce tanımlanmış bir <em>takma adı</em> kullanarak yeni bir g&uuml;nl&uuml;k
        dosyası tanımlar. Erişim g&uuml;nl&uuml;ğ&uuml;n&uuml;n dosya ismi b&ouml;l&uuml; &ccedil;izgisi ile
        başlamadık&ccedil;a dosya yolunun <code class="directive"><a href="./mod/core.html#serverroot">ServerRoot</a></code> değerine g&ouml;reli olduğu varsayılır.</p>

      <p>Yukarıdaki yapılandırma g&uuml;nl&uuml;k dosyasına girdileri Ortak G&uuml;nl&uuml;k
        Bi&ccedil;emi (Common Log Format) adı verilen standart bi&ccedil;emde yazar.
        Bu standart bi&ccedil;em başka HTTP sunucuları tarafından da kullanılır ve
        &ccedil;oğu g&uuml;nl&uuml;k inceleme yazılımı tarafından tanınır. Ortak G&uuml;nl&uuml;k
        Bi&ccedil;eminde &uuml;retilen g&uuml;nl&uuml;k girdileri ş&ouml;yle g&ouml;r&uuml;n&uuml;r:</p>

      <div class="example"><p><code>
        127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET
        /apache_pb.gif HTTP/1.0" 200 2326
      </code></p></div>

      <p>Bu g&uuml;nl&uuml;k girdisini par&ccedil;a par&ccedil;a a&ccedil;ıklayalım:</p>

      <dl>
        <dt><code>127.0.0.1</code> (<code>%h</code>)</dt>

        <dd>Bu, sunucuya istek yapan istemcinin (uzak konağın) IP adresidir.
          Eğer <code class="directive"><a href="./mod/core.html#hostnamelookups">HostnameLookups</a></code>
          y&ouml;nergesine <code>On</code> değeri atanmışsa sunucu bu IP adresi
          i&ccedil;in DNS sorgusu yapacak ve IP adresi yerine bulduğu konak ismini
          yazmaya &ccedil;alışacaktır. Bununla birlikte, bu işlem sunucuyu epeyce
          yavaşlattığından &ouml;nerilmemektedir. Konak isimlerini saptamak i&ccedil;in en
          iyisi g&uuml;nl&uuml;k girdilerini <code class="program"><a href="./programs/logresolve.html">logresolve</a></code> gibi bir
          g&uuml;nl&uuml;k işlemcisinden ge&ccedil;irmektir. Burada raporlanan IP adresi
          doğrudan istemcinin IP adresi olmayabilir. Eğer sunucu ile istemci
          arasında bir vekil sunucu varsa bu IP adresi, vekil sunucunun IP
          adresi olacaktır.</dd>

        <dt><code>-</code> (<code>%l</code>)</dt>

        <dd>&Ccedil;ıktıdaki bir "tire" imi istenen bilgi par&ccedil;asının mevcut olmadığı
          anlamına gelir. Bu durumda, mevcut olmayan bilgi istemci makine
          &uuml;zerinde <code>identd</code> tarafından belirlenen istemcinin RFC
          1413 kimliğidir. Bu bilgi olduk&ccedil;a g&uuml;venilmezdir ve sıkıca denetlenen
          i&ccedil; ağlar haricinde hemen hemen asla kullanılmamalıdır. Apache,
          <code class="directive"><a href="./mod/mod_ident.html#identitycheck">IdentityCheck</a></code> y&ouml;nergesine
          <code>On</code> değeri atanmış olmadık&ccedil;a bu bilgiyi saptamaya
          uğraşmaz.</dd>

        <dt><code>frank</code> (<code>%u</code>)</dt>

        <dd>Bu, belge isteğinde bulunan kişinin HTTP kimlik doğrulamasıyla
          saptanan kullanıcı kimliğidir. Bu değer CGI betiklerine
          <code>REMOTE_USER</code> ortam değişkeni ile sağlanır. Eğer istek
          i&ccedil;in durum kodu 401 ise (aşağıya bakınız) hen&uuml;z kullanıcının kimliği
          doğrulanmamış olacağından bu değere g&uuml;venilmemelidir. Eğer belge
          parola korumalı değilse g&uuml;nl&uuml;ğ&uuml;n bu kısmı da yukarıdaki gibi
          "<code>-</code>" olacaktır.</dd>

        <dt><code>[10/Oct/2000:13:55:36 -0700]</code>
        (<code>%t</code>)</dt>

        <dd>İsteğin alındığı tarih ve saat. Bi&ccedil;emi ş&ouml;yledir:

          <p class="indent">
            <code>[g&uuml;n/ay/yıl:saat:dakika:saniye dilim]<br>
             g&uuml;n&nbsp;&nbsp;&nbsp;&nbsp;= 2 hane<br>
             ay&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 3 harf<br>
             yıl&nbsp;&nbsp;&nbsp;&nbsp;= 4 hane<br>
             saat&nbsp;&nbsp;&nbsp;= 2 hane<br>
             dakika = 2 hane<br>
             saniye = 2 hane<br>
             dilim&nbsp; = (`+' | `-') 4 hane</code>
          </p>
          <p>G&uuml;nl&uuml;k bi&ccedil;em dizgesinde zaman g&ouml;sterim bi&ccedil;emini
          <code>%{<em>bi&ccedil;em</em>}t</code> şeklinde belirtmek de m&uuml;mk&uuml;nd&uuml;r.
          Buradaki <code><em>bi&ccedil;em</em></code> dizgesi, stardart C
          k&uuml;t&uuml;phanesindeki <code>strftime(3)</code> işlevi i&ccedil;in tanımlanmış
          bi&ccedil;em belirte&ccedil;leriyle veya desteklenen &ouml;zel belirte&ccedil;lerle
          oluşturulabilir. Ayrıntılı bilgi i&ccedil;in <code class="module"><a href="./mod/mod_log_config.html">mod_log_config</a></code>
          <a href="mod/mod_log_config.html#formats">bi&ccedil;em dizgelerine</a>
          bakın.</p>
        </dd>

        <dt><code>"GET /apache_pb.gif HTTP/1.0"</code>
        (<code>\"%r\"</code>)</dt>

        <dd>İstemciden alınan istek satırının &ccedil;ift tırnaklar arasında
          g&ouml;sterilmesi istenmiştir. İstek satırı en yararlı bilgi par&ccedil;alarını
          i&ccedil;erir. Birincisi, istemci tarafından kullanılan y&ouml;ntem
          <code>GET</code>'miş. İkinci olarak istemci
          <code>/apache_pb.gif</code> dosyasını istemiş ve &uuml;&ccedil;&uuml;nc&uuml; olarak
          istemci <code>HTTP/1.0</code> protokol&uuml;n&uuml; kullanmış. İstek satırının
          bazı par&ccedil;alarını bağımsız olarak da g&uuml;nl&uuml;klemek m&uuml;mk&uuml;nd&uuml;r. &Ouml;rneğin,
          "<code>%m %U%q %H</code>" dizgesi, y&ouml;ntem, yol, sorgu dizgesi ve
          protokol&uuml; kaydedecektir; bu dizge "<code>%r</code>" bi&ccedil;em
          belirtecinin tek başına yaptığı işi yapar.</dd>

        <dt><code>200</code> (<code>%&gt;s</code>)</dt>

        <dd>Bu, sunucunun istemciye g&ouml;nderdiği durum kodudur. İsteğin
          başarıyla yerine getirilip getirilmediğini g&ouml;sterdiği i&ccedil;in bu bilgi
          &ccedil;ok değerlidir. Durum kodu 2 ile başlıyorsa istek başarıyla yerine
          getirilmiştir, 3 ile başlıyorsa y&ouml;nlendirilmiştir, 4 ile başlıyorsa
          istemci tarafında bir hata oluşmuştur, 5 ile başlıyorsa sunucuda bir
          hata oluşmuştur. Olası hata kodlarının tam listesi <a href="http://www.w3.org/Protocols/rfc2616/rfc2616.txt">RFC2616 Hiper
          Metin Aktarım Protokol&uuml;</a>n&uuml;n 10. b&ouml;l&uuml;m&uuml;nde bulunabilir.</dd>

        <dt><code>2326</code> (<code>%b</code>)</dt>

        <dd>Son par&ccedil;a istemciye d&ouml;nd&uuml;r&uuml;len nesnenin yanıt başlığı hari&ccedil;
          uzunluğudur. Eğer istemciye bir i&ccedil;erik d&ouml;nd&uuml;r&uuml;lmemişse bu değer
          "<code>-</code>" olacaktır. Bunun yerine g&uuml;nl&uuml;ğe "<code>0</code>"
          yazdırmak i&ccedil;in <code>%B</code> belirtecini kullanınız.</dd>
      </dl>
    

    <h3 id="combined">Birleşik G&uuml;nl&uuml;k Bi&ccedil;emi</h3>
      

      <p>Sıklıkla kullanılan diğer bir bi&ccedil;em dizgesi Birleşik G&uuml;nl&uuml;k Bi&ccedil;emi
        (Combined Log Format) olup ş&ouml;yle kullanılabilir:</p>

      <pre class="prettyprint lang-config">LogFormat "%h %l %u %t \"%r\" %&gt;s %b \"%{Referer}i\" \"%{User-agent}i\"" combined
CustomLog log/access_log combined</pre>


      <p>Bu bi&ccedil;em ilaveten 2 alan i&ccedil;ermesi dışında Ortak G&uuml;nl&uuml;k Bi&ccedil;emi ile
        aynıdır. İlave alanların ikisi de <code>%{<em>başlık</em>}i</code>
        bi&ccedil;eminde olup buradaki <code><em>başlık</em></code>, HTTP isteğindeki
        başlık alanlarından biridir. Bu bi&ccedil;emin kullanıldığı bir erişim
        g&uuml;nl&uuml;ğ&uuml; girdisi ş&ouml;yle olurdu:</p>

      <div class="example"><p><code>
        127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET
        /apache_pb.gif HTTP/1.0" 200 2326
        "http://www.example.com/start.html" "Mozilla/4.08 [en]
        (Win98; I ;Nav)"
      </code></p></div>

      <p>Ek alanlar:</p>

      <dl>
        <dt><code>"http://www.example.com/start.html"</code>
        (<code>\"%{Referer}i\"</code>)</dt>

        <dd>HTTP istek başlığı "Referer". İstemcinin raporladığı isteğin
          kaynaklandığı URI. (Bu isteğin yapılmasını sağlayan bağlantıyı
          i&ccedil;eren URL veya istek bir sayfanın bileşenleri ile ilgiliyse istenen
          sayfanın URL'si olabilir.)</dd>

        <dt><code>"Mozilla/4.08 [en] (Win98; I ;Nav)"</code>
        (<code>\"%{User-agent}i\"</code>)</dt>

        <dd>Tarayıcı kimliğini i&ccedil;eren HTTP istek başlığı. Bu istemcinin
          tarayıcısının raporladığı kendi tanıtım bilgisidir.</dd>
      </dl>
    

    <h3 id="multiple">&Ccedil;ok Sayıda Erişim G&uuml;nl&uuml;ğ&uuml;</h3>
      

      <p>Yapılandırma dosyasında &ccedil;ok sayıda <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> y&ouml;nergesi kullanarak &ccedil;ok
        sayıda erişim g&uuml;nl&uuml;ğ&uuml; kolayca oluşturulabilir. &Ouml;rneğin aşağıdaki
        y&ouml;nergelerle 3 tane erişim g&uuml;nl&uuml;ğ&uuml; oluşturulacaktır. İlki temel OGB
        bilgisini i&ccedil;erirken diğer ikisi isteğin kaynaklandığı yeri ve tarayıcı
        kimliğini i&ccedil;erir. Son iki <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> satırı ayrıca, <code>ReferLog</code> ve
        <code>AgentLog</code> y&ouml;nergelerinin etkilerinin nasıl taklit
        edileceğini de g&ouml;stermektedir.</p>

      <pre class="prettyprint lang-config">LogFormat "%h %l %u %t \"%r\" %&gt;s %b" common
CustomLog logs/access_log common
CustomLog logs/referer_log "%{Referer}i -&gt; %U"
CustomLog logs/agent_log "%{User-agent}i"</pre>


      <p>Bu &ouml;rnek ayrıca, <code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code> y&ouml;nergesi ile bir takma ad tanımlamanın şart
        olmadığını da g&ouml;stermektedir. G&uuml;nl&uuml;k bi&ccedil;emi doğrudan <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> y&ouml;nergesinde
        belirtilebilir.</p>
    

    <h3 id="conditional">Şarta Bağlı G&uuml;nl&uuml;kler</h3>
      

      <p>Bazı durumlarda istemcinin yaptığı isteğe bağlı olarak erişim
        g&uuml;nl&uuml;ğ&uuml;nde belli girdilerin dışlanması gerekebilir. Bu, <a href="env.html">ortam değişkenleri</a> sayesinde kolayca yerine
        getirilebilir. &Ouml;nce isteğin belli koşulları sağladığını belirten bir
        ortam değişkeni ataması yapılır. Bu işlem <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> y&ouml;nergesi ile yapılır.
        Sonra da, ortam değişkenine bağlı olarak isteklerin g&uuml;nl&uuml;ğe dahil
        edilip edilmeyeceği <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> y&ouml;nergesinin
        <code>env=</code> deyimi kullanılarak belirtilir. Bazı &ouml;rnekler:</p>

      <pre class="prettyprint lang-config"># yerel konaktan kaynaklanan istekleri imleyelim
SetEnvIf Remote_Addr "127\.0\.0\.1" kaydetme
# robots.txt dosyası isteklerini imleyelim
SetEnvIf Request_URI "^/robots\.txt$" kaydetme
# Kalanları g&uuml;nl&uuml;ğe kaydedelim
CustomLog logs/access_log common env=!kaydetme</pre>


      <p>Başka bir &ouml;rnek olarak, T&uuml;rk&ccedil;e belge isteklerini bir dosyaya diğer
        dillerdeki istekleri başka bir dosyaya kaydedelim.</p>

      <pre class="prettyprint lang-config">SetEnvIf Accept-Language "tr" turkce
CustomLog logs/turkce_log common env=turkce
CustomLog logs/diger_diller_log common env=!turkce</pre>


      <p>Bir arabellekleme senaryosuna arabelleğin verimli kullanılıp
        kullanılmadığını bilmek isteyelim. Bu basit&ccedil;e ş&ouml;yle yapılabilir:</p>

      <pre class="prettyprint lang-config">SetEnv CACHE_MISS 1
LogFormat "%h %l %u %t "%r " %&gt;s %b %{CACHE_MISS}e" common-cache
CustomLog logs/access_log common-cache</pre>


      <p><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> &ouml;nce <code class="module"><a href="./mod/mod_env.html">mod_env</a></code> mod&uuml;l&uuml;n&uuml;
        &ccedil;alıştıracak ve başarılı olunduğu takdirde i&ccedil;eriği onsuz teslim
        edecektir. Bu durumda arabellek kaybı <code>1</code> olarak
        g&uuml;nl&uuml;klenirken arabellek sunumu <code>-</code> olarak
        g&uuml;nl&uuml;klenecektir.</p>

      <p><code>env=</code> s&ouml;zdizimine ek olarak, <code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code> HTTP yanıt kodudaki koşul
        değerlerini g&uuml;nl&uuml;klemeyi de destekler:</p>

      <pre class="prettyprint lang-config">LogFormat "%400,501{User-agent}i" browserlog
LogFormat "%!200,304,302{Referer}i" refererlog</pre>


      <p>Bu &ouml;rnekte, HTTP durum kodu 400 veya 501 ise <code>User-agent</code>
        başlığı g&uuml;nl&uuml;klenecektir. Aksi takdirde, g&uuml;nl&uuml;ğe bir "-" yazılacaktır.
        Benzer şekilde ikinci &ouml;rnekte, HTTP durum kodu 200, 304 veya 302
        <strong>değilse</strong> (durum kodlarının &ouml;ncesindeki "!" imine
        dikkat) <code>Referer</code> başlığı g&uuml;nl&uuml;klenecektir.</p>

      <p>Koşula bağlı g&uuml;nl&uuml;k kaydının &ccedil;ok esnek ve g&uuml;&ccedil;l&uuml; olabileceğini
        g&ouml;stermiş olsak da g&uuml;nl&uuml;k i&ccedil;eriğini denetlemenin tek yolu bu değildir.
        G&uuml;nl&uuml;k dosyaları sunucu etkinliğini eksiksiz olarak kaydedebildikleri
        takdirde daha yararlı olurlar. G&uuml;nl&uuml;k dosyalarını sonradan işleme tabi
        tutarak istenmeyen girdileri kaldırılmış bir kopya almak hem kolay hem
        de daha yararlıdır.</p>
    
  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
<h2 id="rotation">G&uuml;nl&uuml;k &Ccedil;evrimi <a title="Permanent link" href="#rotation" class="permalink">&para;</a></h2>
    

    <p>Y&uuml;k&uuml; ağır sunucularda g&uuml;nl&uuml;k dosyalarına kaydedilen bilginin miktarı
      &ccedil;ok b&uuml;y&uuml;k boyutlara ulaşabilir. 10.000 istek i&ccedil;eren bir erişim g&uuml;nl&uuml;ğ&uuml;
      yaklaşık 1MB yer kaplar. Etkin g&uuml;nl&uuml;k dosyasını belirli aralıklarla
      değiştirmek veya silmek gerekebilir. Apache httpd &ccedil;alışırken dosyayı s&uuml;rekli
      a&ccedil;ık tuttuğu ve yazdığı i&ccedil;in bu işlem sunucu &ccedil;alışırken yapılamaz. Bu
      bakımdan, g&uuml;nl&uuml;k dosyası değiştirildikten veya silindikten sonra yeni
      dosyanın a&ccedil;ılması i&ccedil;in <a href="stopping.html">sunucunun yeniden
      başlatılması</a> gerekir.</p>

    <p><a href="stopping.html#graceful">Nazik&ccedil;e yeniden başlatmak</a>
      suretiyle sunucunun, mevcut ve bekleyen bağlantıları kaybetmeden yeni
      g&uuml;nl&uuml;k dosyalarını a&ccedil;ması sağlanabilir. Bununla birlikte, bu işlem
      sırasında sunucunun eski isteklere sunumu bitirene kadar eski g&uuml;nl&uuml;k
      dosyalarına yazmaya devam edebilmesi gerekir. Bu bakımdan, yeniden
      başlatmanın ardından eski g&uuml;nl&uuml;k dosyaları &uuml;zerinde bir işlem yapmadan
      &ouml;nce biraz beklemek gerekir. G&uuml;nl&uuml;k dosyalarını d&ouml;nd&uuml;r&uuml;rken kullanılan
      senaryolarda genellikle eski g&uuml;nl&uuml;k dosyaları yer kazanmak i&ccedil;in
      sıkıştırılırlar:</p>

    <div class="example"><p><code>
      mv access_log access_log.old<br>
      mv error_log error_log.old<br>
      apache2ctl graceful<br>
      sleep 600<br>
      gzip access_log.old error_log.old
    </code></p></div>

    <p>G&uuml;nl&uuml;k &ccedil;evrimi yapmanın başka bir yolu da sonraki b&ouml;l&uuml;mde a&ccedil;ıklandığı
      gibi <a href="#piped">borulu g&uuml;nl&uuml;kler</a> kullanmaktır.</p>
  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
<h2 id="piped">Borulu G&uuml;nl&uuml;kler <a title="Permanent link" href="#piped" class="permalink">&para;</a></h2>
    

    <p>Apache httpd hata ve erişim g&uuml;nl&uuml;klerini doğrudan bir dosyaya yazmak
      yerine bir boru &uuml;zerinden başka bir s&uuml;rece yazabilir. Bu yetenek ana
      sunucuya herhangi bir kod eklemeksizin g&uuml;nl&uuml;kleme esnekliğini şaşırtıcı
      derecede arttırır. G&uuml;nl&uuml;kler boruya yazılmak istenirse dosya ismini boru
      karakteriyle ("<code>|</code>") değiştirip ardına g&uuml;nl&uuml;k girdilerini
      standart girdisinden kabul edecek programın ismini eklemek yeterlidir.
      Apache httpd başlatıldığı zaman borulu g&uuml;nl&uuml;k işlemini de
      başlatacaktır. Eğer sunucu &ccedil;alışırken g&uuml;nl&uuml;kleri kabul eden s&uuml;re&ccedil;
      &ccedil;&ouml;kerse Apache httpd bu programı yeniden başlatır. (Bu son &ouml;zelliği
      sebebiyle bu tekniğe "g&uuml;venilir borulu g&uuml;nl&uuml;kleme" adını veriyoruz.)</p>

    <p>Borulu g&uuml;nl&uuml;k s&uuml;re&ccedil;leri ana Apache httpd s&uuml;reci tarafından başlatılır
      ve bu s&uuml;re&ccedil;ler ana Apache httpd s&uuml;recinin kullanıcı kimliğini miras
      alırlar. Yani borulu g&uuml;nl&uuml;kleme programları aslında root tarafından
      &ccedil;alıştırılmış gibi olur. Bu bakımdan, bu programları basit ve g&uuml;venilir
      kılmak &ccedil;ok &ouml;nemlidir.</p>

    <p>Borulu g&uuml;nl&uuml;klerin &ouml;nemli kullanım alanlarından biri de sunucuyu
      yeniden başlatmak gerekmeksizin g&uuml;nl&uuml;k &ccedil;evrimini m&uuml;mk&uuml;n kılmaktır.
      Apache HTTP sunucusu bu ama&ccedil;la kullanılmak &uuml;zere
      <code class="program"><a href="./programs/rotatelogs.html">rotatelogs</a></code> diye bir program i&ccedil;erir. &Ouml;rneğin,
      g&uuml;nl&uuml;kleri 24 saatte bir d&ouml;nd&uuml;rmek isterseniz bunu ş&ouml;yle
      yapabilirsiniz:</p>

    <pre class="prettyprint lang-config">CustomLog "|/usr/local/apache/bin/rotatelogs /var/log/access_log 86400" common</pre>


    <p>Borunun diğer ucundaki s&uuml;reci başlatacak komutun tırnak i&ccedil;ine
      alındığına dikkat ediniz. Bu &ouml;rnekler erişim g&uuml;nl&uuml;ğ&uuml; i&ccedil;in verilmişse de
      aynı teknik hata g&uuml;nl&uuml;ğ&uuml; i&ccedil;in de kullanılabilir.</p>

    <p>Hari&ccedil;ten bir uygulama olarak <a href="http://www.cronolog.org/">cronolog</a> isminde buna benzer ancak
      &ccedil;ok daha esnek bir program daha vardır.</p>

    <p>Borulu g&uuml;nl&uuml;kler de şarta bağlı g&uuml;nl&uuml;kleme kadar g&uuml;&ccedil;l&uuml; olmakla beraber
      &ccedil;evrimdışı ardıl işlemler gibi daha basit &ccedil;&ouml;z&uuml;mler i&ccedil;in
      kullanılmamalıdır.</p>

    <p>&Ouml;ntanımlı olarak borulu g&uuml;nl&uuml;k s&uuml;reci bir kabuk kullanmadan
      &ccedil;alıştırılır. Kabuk kullanarak (genelde <code>/bin/sh -c</code> ile)
      yapılmak istenirse "<code>|</code>" yerine "<code>|$</code>"
      kullanılır:</p>

    <pre class="prettyprint lang-config"># Kabuk kullanarak "rotatelogs" &ccedil;alıştırmak
CustomLog "|$/usr/local/apache/bin/rotatelogs /var/log/access_log 86400" common</pre>


    <p>Bu, Apache 2.2 i&ccedil;in &ouml;ntanımlı davranıştı. Kabuk &ouml;zelliklerine bağlı
      olarak, yeniden başlatma sırasındaki sinyal işleme sorunları ve g&uuml;nl&uuml;k
      borulama uygulamasının yaşam s&uuml;resi i&ccedil;in ek bir kabuk s&uuml;reci ile
      sonu&ccedil;lanabilir. Apache 2.2 ile uyumluluk a&ccedil;ısından "<code>||</code>"
      g&ouml;sterimi de desteklenmekte olup "<code>|</code>" kullanımına
      eşdeğerdir.</p>

    <div class="note"><h3>Windows'ta yığın alanı</h3>
    <p>Windows'ta &ccedil;ok sayıda borulu g&uuml;nl&uuml;kleme s&uuml;reci &ccedil;alışırken ve &ouml;zellikle
      HTTPD bir hizmet olarak &ccedil;alışıyorsa sorunlar baş g&ouml;sterebilir. Bunun
      başlıca sebebi masa&uuml;st&uuml; yığın alanının (heap) dışına taşılmasıdır. Her
      hizmete ayrılan mas&uuml;st&uuml; yığın alanı, kayıt defterindeki
      HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SessionManager\SubSystems\Windows
      kaydındaki &uuml;&ccedil;&uuml;nc&uuml; değiştirge olan <code>SharedSection</code>
      değeridir. <strong>Bu değeri değiştirirken &ccedil;ok dikkatli olun</strong>;
      bu, Windows kayıt defterini değiştirirken verilen normal
      uyarılardandır, fakat eğer bu değer &ccedil;ok y&uuml;ksek olursa masa&uuml;st&uuml; yığın
      alanının t&uuml;kenebileceği dikkate alınmalıdır.</p>
    </div>
  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
<h2 id="virtualhost">Sanal Konaklar <a title="Permanent link" href="#virtualhost" class="permalink">&para;</a></h2>
    

    <p>Bir sunucu &ccedil;ok sayıda <a href="vhosts/index.html">sanal konak</a> ile hizmet
      sunarken bunların g&uuml;nl&uuml;k kayıtları i&ccedil;in &ccedil;eşitli se&ccedil;enekler mevcuttur.
      İlk se&ccedil;enekte, sanki sunucu tek bir konakla hizmet sunuyormuş gibi
      g&uuml;nl&uuml;k kaydı yapılır. G&uuml;nl&uuml;kleme y&ouml;nergelerini <code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> b&ouml;l&uuml;mlerinin dışına, ana sunucu
      bağlamına yerleştirerek t&uuml;m isteklerin aynı erişim ve hata g&uuml;nl&uuml;ğ&uuml;ne
      yazılmasını sağlamak olasıdır. Bu teknik, tek tek sanal konaklar i&ccedil;in
      kolayca istatistik toplamaya izin vermez.</p>

    <p>Eğer  <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code>
      veya <code class="directive"><a href="./mod/core.html#errorlog">ErrorLog</a></code> y&ouml;nergesi bir
      <code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> b&ouml;l&uuml;m&uuml;ne
      yerleştirilirse bu sanal konağa b&uuml;t&uuml;n erişimler veya hatalar belirtilen
      dosyaya g&uuml;nl&uuml;klenecektir. B&ouml;yle g&uuml;nl&uuml;kleme y&ouml;nergeleri i&ccedil;ermeyen sanal
      konakların g&uuml;nl&uuml;kleri hala ana sunucunun hata ve erişim g&uuml;nl&uuml;klerine
      yazılmaya devam edecektir. Bu teknik az sayıda sanal konak barındıran
      sunucular i&ccedil;in &ccedil;ok kullanışlıdır. Fakat sanal konak sayısı &ccedil;ok fazlaysa
      bu teknikle g&uuml;nl&uuml;k dosyalarını y&ouml;netmek &ccedil;ok karmaşık bir hal alabilir.
      Ayrıca, <a href="vhosts/fd-limits.html">yetersiz dosya tanıtıcısı</a>
      sorunlarıyla &ccedil;ok sık karşılaşılabilir.</p>

    <p>Erişim g&uuml;nl&uuml;kleri i&ccedil;in &ccedil;ok az bir fedakarlıkla &ccedil;ok iyi bir &ccedil;&ouml;z&uuml;m vardır.
      G&uuml;nl&uuml;k bi&ccedil;emine sanal konaklarla ilgili bilgi eklemek suretiyle t&uuml;m
      konakların aynı g&uuml;nl&uuml;k dosyasını kullanmaları olasıdır. B&ouml;ylece g&uuml;nl&uuml;k
      dosyası sonradan her sanal konak i&ccedil;in ayrı bir dosya oluşturmak &uuml;zere
      ayrıştırılabilir. &Ouml;rneğin, bu işlem i&ccedil;in şu y&ouml;nergeler kullanılıyor
      olsun:</p>

    <pre class="prettyprint lang-config">LogFormat "%v %l %u %t \"%r\" %&gt;s %b" ortaksankon
CustomLog logs/access_log ortaksankon</pre>


    <p><code>%v</code> belirteci isteği sunan sanal konağın ismini g&uuml;nl&uuml;ğe
      yazmak i&ccedil;in kullanılır. Daha sonra <a href="programs/split-logfile.html">split-logfile</a> gibi bir program
      kullanarak, bu dosyadan her sanal konak i&ccedil;in ayrı birer dosya elde
      edilebilir.</p>
  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div>
<div class="section">
<h2 id="other">Diğer G&uuml;nl&uuml;k Dosyaları <a title="Permanent link" href="#other" class="permalink">&para;</a></h2>
    

    <table class="related"><tr><th>İlgili Mod&uuml;ller</th><th>İlgili Y&ouml;nergeler</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_logio.html">mod_logio</a></code></li><li><code class="module"><a href="./mod/mod_log_config.html">mod_log_config</a></code></li><li><code class="module"><a href="./mod/mod_log_forensic.html">mod_log_forensic</a></code></li><li><code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code></li><li><code class="directive"><a href="./mod/mod_log_config.html#bufferedlogs">BufferedLogs</a></code></li><li><code class="directive"><a href="./mod/mod_log_forensic.html#forensiclog">ForensicLog</a></code></li><li><code class="directive"><a href="./mod/mpm_common.html#pidfile">PidFile</a></code></li><li><code class="directive"><a href="./mod/mod_cgi.html#scriptlog">ScriptLog</a></code></li><li><code class="directive"><a href="./mod/mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</a></code></li><li><code class="directive"><a href="./mod/mod_cgi.html#scriptloglength">ScriptLogLength</a></code></li></ul></td></tr></table>

    <h3>G&ouml;nderilen ve alınan bayt sayısının g&uuml;nl&uuml;klenmesi</h3>
      

      <p><code class="module"><a href="./mod/mod_logio.html">mod_logio</a></code> mod&uuml;l&uuml; <code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code> y&ouml;nergesinde kullanılan
        bi&ccedil;em belirte&ccedil;lerine alınan ve g&ouml;nderilen bayt sayıları i&ccedil;in iki
        belirte&ccedil; (%I ve %O) ekler.</p>
    

    <h3>Adli G&uuml;nl&uuml;k</h3>
      

      <p><code class="module"><a href="./mod/mod_log_forensic.html">mod_log_forensic</a></code> mod&uuml;l&uuml; istemci isteklerinin kanıt
        olarak kullanılmak amacıyla g&uuml;nl&uuml;klenmesini sağlar. G&uuml;nl&uuml;kleme her
        istek i&ccedil;in isteğe hizmet sunmadan &ouml;nce ve sonra olmak &uuml;zere iki defa
        yapılır. B&ouml;ylece g&uuml;nl&uuml;k dosyasında başarılı her istek i&ccedil;in iki satır
        bulunur. Adli g&uuml;nl&uuml;kleme &ccedil;ok sıkı kurallara tabi olup
        kişiselleştirilemez. G&uuml;venlik ve hata ayıklama aracı olarak yararlı
        değildir.</p>
    

    <h3 id="pidfile">PID Dosyası</h3>
      

      <p>Apache httpd başlatıldığında, ana httpd s&uuml;recinin kimliği (PID)
        <code>logs/httpd.pid</code> dosyasına kaydedilir. Bu dosyanın ismi
        <code class="directive"><a href="./mod/mpm_common.html#pidfile">PidFile</a></code> y&ouml;nergesi ile
        değiştirilebilir. Bu s&uuml;re&ccedil; kimliği sistem y&ouml;neticisi tarafından ana
        s&uuml;rece sinyal g&ouml;ndererek artalan s&uuml;recini sonlandırmak veya yeniden
        başlatmak i&ccedil;in kullanılır. Windows &uuml;zerinde bu işlem i&ccedil;in
        <code>-k</code> komut satırı se&ccedil;eneği kullanılır. Bu konuda daha
        ayrıntılı bilgi edinmek i&ccedil;in <a href="stopping.html">Durdurma ve
        Yeniden Başlatma</a> belgesine bakınız.</p>
    

    <h3 id="scriptlog">Betik G&uuml;nl&uuml;ğ&uuml;</h3>
      

      <p><code class="directive"><a href="./mod/mod_cgi.html#scriptlog">ScriptLog</a></code> y&ouml;nergesi CGI
        betiklerinin girdi ve &ccedil;ıktılarını kaydetmenizi m&uuml;mk&uuml;n kılmak suretiyle
        hata ayıklamaya yardımcı olur. Bu sadece deneysel ama&ccedil;la kullanılmalı,
        asıl sunucuya uygulanmamalıdır. <a href="mod/mod_cgi.html">mod_cgi</a>
        belgesinde daha fazla bilgi bulunabilir.</p>
    
  </div></div>
<div class="bottomlang">
<p><span>Mevcut Diller: </span><a href="../en/logs.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/logs.html" hreflang="fr" rel="alternate" title="Fran&ccedil;ais">&nbsp;fr&nbsp;</a> |
<a href="../ja/logs.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/logs.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/logs.html" title="T&uuml;rk&ccedil;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 2026 The Apache Software Foundation.<br><a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="./mod/index.html">Mod&uuml;ller</a> | <a href="./mod/quickreference.html">Y&ouml;nergeler</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Hata bildir</a></p></div><script><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
    prettyPrint();
}
var langToggle = document.querySelector('.lang-toggle');
var topLang = document.querySelector('.toplang');
if (langToggle && topLang) {
    langToggle.addEventListener('click', function() { topLang.classList.toggle('open'); });
}
var qv = document.getElementById('quickview');
if (qv) {
    document.body.appendChild(qv);
    var qvBtn = document.createElement('button');
    qvBtn.className = 'qv-toggle';
    qvBtn.setAttribute('aria-label', 'Toggle page navigation');
    qvBtn.innerHTML = '&#9776;';
    document.body.appendChild(qvBtn);
    qvBtn.addEventListener('click', function() {
        var isOpen = qv.classList.toggle('open');
        if (isOpen) {
            qv.style.top = window.scrollY + 10 + 'px';
        }
    });
    window.addEventListener('scroll', function() { qv.classList.remove('open'); });
}
//--><!]]></script>
</body></html>