f42e2910b27be09508e0e0c0a8237d3847d280abtakashi<?xml-stylesheet type="text/xsl" href="/style/manual.tr.xsl"?>
a1d62218cdb0efd0f02da1b54fd3eda91a681d98nd<!-- English Revision: 1300924:1674195 (outdated) -->
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi<!-- =====================================================
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi Reviewed by: Orhan Berent <berent belgeler.org>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi========================================================== -->
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi Licensed to the Apache Software Foundation (ASF) under one or more
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi contributor license agreements. See the NOTICE file distributed with
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi this work for additional information regarding copyright ownership.
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi The ASF licenses this file to You under the Apache License, Version 2.0
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi (the "License"); you may not use this file except in compliance with
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi the License. You may obtain a copy of the License at
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi Unless required by applicable law or agreed to in writing, software
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi distributed under the License is distributed on an "AS IS" BASIS,
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi See the License for the specific language governing permissions and
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi limitations under the License.
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <p>Bir HTTP sunucusunu verimli şekilde yönetebilmek için oluşabilecek
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi sorunlardan başka sunucunun başarımı ve etkinliği hakkında da bazı geri
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi bildirimler almak gerekir. Apache HTTP Sunucusu çok kapsamlı ve esnek
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi bir günlükleme yeteneğine sahiptir. Bu belgede sunucunun günlükleme
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi yeteneğini nasıl yapılandıracağınızdan ve günlük kayıtlarını nasıl
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi yorumlayacağınızdan bahsedilecektir.</p>
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun <modulelist>
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun </modulelist>
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun <p>Apache HTTP Sunucusu, isteğin ilk alınışından itibaren, URL eşleme
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun işlemleri, bağlantının son çözümlemesi ve bu işlemler sırasına ortaya çıkan
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun hatalar da dahil olmak üzere sunucunuzda meydana gelen herşeyi günlüklemek
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun için çok çeşitli mekanizmalar içerir. Buna ek olarak, günlükleme
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun yetenekleri sağlayan üçüncü parti modüller de kullanılabilir veya mevcut
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun günlük dosyalarına girdiler enjekte edilebilir. Ayrıca, CGI programları,
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun PHP betikleri ve benzerleri sunucu hata günlüğüne kendi iletilerini
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun gönderebilirler.</p>
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun <p>Bu belgede Apache HTTP Sunucusunun standart parçası olan günlükleme
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun modülleri hakkında bilgi verilecektir.</p>
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun <p>Apache httpd’nin günlük dosyalarını yazdığı dizine yazabilen birinin sunucuyu
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi başlatan kullanıcı kimliğine (bu genellikle root olur) erişim
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi kazanabileceğine hemen hemen kesin gözüyle bakılabilir. Sonuçlarının
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi neler olacağını kestiremiyorsanız günlüklerin yazıldığı dizinde <em>hiç
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi kimseye</em> yazma erişimi vermeyin; ayrıntılı bilgi için <a
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi href="misc/security_tips.html">güvenlik ipuçları</a> belgesine
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi bakınız.</p>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <p>Buna ilaveten, günlük dosyaları istemci tarafından sağlanmış bilgiler
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi de içerebilir. Bu nedenle, kötü niyetli istemcilerin günlük dosyalarına
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi denetim karakterleri girmeleri olasılığına karşı ham günlükler ele
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi alınırken dikkatli olunmalıdır.</p>
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun <modulelist>
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun </modulelist>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <directivelist>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi </directivelist>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <p>İsmi ve yeri <directive module="core">ErrorLog</directive> yönergesi
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi ile belirtilen sunucu hata günlüğü, en önemli günlük dosyasıdır. Apache
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi httpd tarafından istekler işlenirken saptanan hatalar ve tanı bilgileri
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi bu dosyaya gönderilir. Sunucuyu başlatırken veya sunucu çalışırken bir
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi sorunla karşılaşıldığında, neyin yanlış gittiğini öğrenmek için
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi bakılacak ilk yer burasıdır. Günlük kaydı çoğunlukla sorunun nasıl
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi düzeltileceği ile ilgili ayrıntıları da içerir.</p>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <p>Hata günlüğü normal olarak bir dosyaya yazılır (genellikle, dosyanın
91f378b5a10f2d83820902ed10ba7967a3920c18nilgun ismi Unix sistemlerinde <code>error_log</code>, OS/2 ve Windows’ta ise
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <code>error.log</code>’dur). Ayrıca, Unix sistemlerinde sunucunun
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi hataları <code>syslog</code>’a veya <a href="#piped">borulamak suretiyle
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun >ErrorLogFormat</directive> yönergesi ile belirlenir. Bu yönergeyi
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun kullanarak günlüklenen değerleri özelleştirebilirsiniz. Bir biçem
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun belirtmezseniz öntanımlı biçem kullanılır. Örnek tipik bir hata iletisi
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun içermektedir:</p>
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun [Fri Sep 09 10:42:29.902022 2011] [core:error] [pid 35708:tid 4328636416]
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun [client 72.15.99.187] Dosya yok: /usr/local/apache2/htdocs/favicon.ico
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <p>Günlük girdisinin ilk öğesi iletinin yazıldığı tarih ve saatten oluşur.
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun İkincisi iletiyi üreten modülün ismi (bu durumda: core) ile raporlanan
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun bilginin önem derecesini belirtir. Bunu varsa sürecin kimliği ve yine
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun varsa evre kimliği izler. Sonraki öğe hatanın üretilmesine sebep olan
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun istemcinin IP adresini içerir. Kalanı iletinin kendisidir (duruma
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun bakılırsa bir dosyaya yapılan istek yerine getirilememiş).</p>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <p>Hata günlüğünde görünebilecek ileti çeşitliliği oldukça fazladır. Çoğu
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi yukarıdaki örneğin benzeridir. Hata günlüğü ayrıca, CGI betiklerinin
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi hata ayıklama çıktılarını da içerir. Bir CGI betiği tarafından standart
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi hataya (<code>stderr</code>) yazılan her türlü bilgi doğrudan hata
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi günlüğüne kopyalanır.</p>
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun <p>Hata günlüğüne ve erişim günlüğüne <code>%L</code> dizgeciği konularak
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun erişim günlüğündeki girdi ile hata günlüğündeki girdiyi ilişkilendirecek
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun bir günlük girdisi kimliği oluşturulabilir.
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun <module>mod_unique_id</module> yüklüyse günlük girdisi kimliği olarak
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun onun eşsiz istek kimliği de kullanılır.</p>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <p>Sunucuyu denerken olası sorunlara karşı hata günlüğünü sürekli
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi izlemelisiniz. Unix sistemlerinde bunu şöyle bir komutla
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi sağlayabilirsiniz:</p>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi tail -f error_log
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun <p><directive module="core">LogLevel</directive> yönergesi, günlük
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun iletisinin üretilmesine sebep olan modüle bağlı bir önem seviyesi
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun belirleyebilmenizi sağlar. Bu yolla sorun yaşadığınız modülle ilgili
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun günlük musluklarını sonuna kadar açabiliri ek olarak ilgilendiğiniz diğer
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun modüllerle ilgili ayrıntıları da edinebilirsiniz. Özellikle
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun <module>mod_proxy</module> veya <module>mod_rewrite</module> gibi
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun modüllerde yapılmak isteneni denerken neler olup bittiğini ayrıntılarıyla
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun bilmek istediğiniz durumlarda kullanışlıdır.</p>
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun <p>Bunu <directive>LogLevel</directive> yönergesinde modülün ismini
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun belirterek yapabilirsiniz:</p>
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun LogLevel info rewrite:trace5
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun <p>Bu satırla ana <directive>LogLevel</directive> info'ya ayarlanırken
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun <module>mod_rewrite</module> için musluk <code>trace5</code> seviyesine
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun kadar açılmaktadır.</p>
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun <note>Bu yönerge, Apache HTTP Sunucusunun evvelki sürümlerinde mevcut olan
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun <code>RewriteLog</code> gibi günlükleme modüllerinin yerini almıştır.
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <modulelist>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi </modulelist>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <directivelist>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <directive module="mod_log_config">CustomLog</directive>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <directive module="mod_log_config">LogFormat</directive>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <directive module="mod_setenvif">SetEnvIf</directive>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi </directivelist>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <p>Sunucu erişim günlüğü sunucu tarafından işleme alınan tüm istekleri
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi kaydeder. Erişim günlüğünün yeri ve içeriği <directive
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi module="mod_log_config">CustomLog</directive> yönergesi ile belirlenir.
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <directive module="mod_log_config">LogFormat</directive> yönergesi ile
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi günlük içeriğini kişiselleştirmek mümkündür. Bu bölümde sunucunun
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi bilgileri erişim günlüğüne kaydetmesi için nasıl yapılandırılacağından
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi bahsedilecektir.</p>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <p>Şüphesiz, bilginin erişim günlüğünde saklanması günlük yönetiminde ilk
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi adımı oluşturur. Sonraki adım yararlı istatistikleri üretmek için bu
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi bilgiyi incelemektir. Günlük incelemesi bu belgenin kapsamına dahil
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi değildir ve aslında bu işlem sunucunun yaptığı işlerden biri değildir.
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi Bu konu ve günlük incelemesi yapan uygulamalar hakkında daha ayrıntılı
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi bilgi edinmek için <a
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi href="http://dmoz.org/Computers/Software/Internet/Site_Management/Log_analysis/"
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi href="http://dir.yahoo.com/Computers_and_Internet/Software/Internet/World_Wide_Web/Servers/Log_Analysis_Tools/"
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <p>Apache httpd’nin çeşitli sürümlerinde erişim günlüklerini denetlemek
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi için kullanılan diğer modüller ve yönergeler arasında mod_log_referer,
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi mod_log_agent modülleri ve <code>TransferLog</code> yönergesi
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi sayılabilir. Artık, daha eski tüm diğer yönergelerin işlevselliklerini
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi bir araya toplayan <directive module="mod_log_config"
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi >CustomLog</directive> yönergesi kullanılmaktadır.</p>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <p>Erişim günlüğünün girdi biçemi kolayca isteğe göre
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi düzenlenebilmektedir. Biçemi belirtmekte kullanılan biçem dizgesi, C
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi tarzı printf(1) biçem dizgesini andırır. Sonraki bölümlerde bazı
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi örneklere yer verilmiştir. Biçem dizgesini oluşturan belirteçlerin tam
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi listesi için <module>mod_log_config</module> belgesinin <a
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi href="mod/mod_log_config.html#formats">Günlük Girdilerinin
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <p>Erişim günlüğü için sıklıkla kullanılan bir yapılandırma:</p>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi LogFormat "%h %l %u %t \"%r\" %>s %b" common<br />
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <p>İlk satırda belli bir biçem dizgesi için <code>common</code> diye bir
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <em>takma ad</em> tanımlanmaktadır. Biçem dizgesi, sunucuya hangi
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi belli bir bilgi parçalarını günlükleyeceğini söyleyen % imli biçem
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi belirteçlerinden oluşur. Biçem dizgesine ayrıca dizgesel sabitler de
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi yerleştirilebilir ve bunlar erişim günlüğüne oldukları gibi
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi kopyalanırlar. Biçem dizgesi içinde çift tırnak karakteri (") biçem
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi dizgesini vaktinden önce sonlandırmaması için ters bölü çizgisi ile
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi öncelenmelidir. Biçem dizgesi ayrıca, satır sonlarını belirtmek için
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi "<code>\n</code>" ve sekmeleri belirtmek için "<code>\t</code>"
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi denetim karakterlerini de içerebilir.</p>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <p><directive module="mod_log_config">CustomLog</directive> yönergesi
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi evvelce tanımlanmış bir <em>takma adı</em> kullanarak yeni bir günlük
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi dosyası tanımlar. Erişim günlüğünün dosya ismi bölü çizgisi ile
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi >ServerRoot</directive> değerine göreli olduğu varsayılır.</p>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <p>Yukarıdaki yapılandırma günlük dosyasına girdileri Ortak Günlük
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi Biçemi (Common Log Format) adı verilen standart biçemde yazar.
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi Bu standart biçem başka HTTP sunucuları tarafından da kullanılır ve
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi çoğu günlük inceleme yazılımı tarafından tanınır. Ortak Günlük
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi Biçeminde üretilen günlük girdileri şöyle görünür:</p>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <dd>Bu, sunucuya istek yapan istemcinin (uzak konağın) IP adresidir.
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi Eğer <directive module="core">HostnameLookups</directive>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi yönergesine <code>On</code> değeri atanmışsa sunucu bu IP adresi
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi için DNS sorgusu yapacak ve IP adresi yerine bulduğu konak ismini
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi yazmaya çalışacaktır. Bununla birlikte, bu işlem sunucuyu epeyce
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi yavaşlattığından önerilmemektedir. Konak isimlerini saptamak için en
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi iyisi günlük girdilerini <program>logresolve</program> gibi bir
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi günlük işlemcisinden geçirmektir. Burada raporlanan IP adresi
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi doğrudan istemcinin IP adresi olmayabilir. Eğer sunucu ile istemci
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi arasında bir vekil sunucu varsa bu IP adresi, vekil sunucunun IP
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi adresi olacaktır.</dd>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <dd>Çıktıdaki bir "tire" imi istenen bilgi parçasının mevcut olmadığı
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi anlamına gelir. Bu durumda, mevcut olmayan bilgi istemci makine
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi üzerinde <code>identd</code> tarafından belirlenen istemcinin RFC
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi 1413 kimliğidir. Bu bilgi oldukça güvenilmezdir ve sıkıca denetlenen
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi iç ağlar haricinde hemen hemen asla kullanılmamalıdır. Apache,
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun <directive module="mod_ident">IdentityCheck</directive> yönergesine
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <code>On</code> değeri atanmış olmadıkça bu bilgiyi saptamaya
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi uğraşmaz.</dd>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <dd>Bu, belge isteğinde bulunan kişinin HTTP kimlik doğrulamasıyla
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi saptanan kullanıcı kimliğidir. Bu değer CGI betiklerine
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <code>REMOTE_USER</code> ortam değişkeni ile sağlanır. Eğer istek
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi için durum kodu 401 ise (aşağıya bakınız) henüz kullanıcının kimliği
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi doğrulanmamış olacağından bu değere güvenilmemelidir. Eğer belge
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi parola korumalı değilse günlüğün bu kısmı da yukarıdaki gibi
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <dd>İsteğin alındığı tarih ve saat. Biçemi şöyledir:
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi gün = 2 hane<br />
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi ay = 3 harf<br />
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi yıl = 4 hane<br />
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi saat = 2 hane<br />
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi dakika = 2 hane<br />
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi saniye = 2 hane<br />
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi dilim = (`+' | `-') 4 hane</code>
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun <p>Günlük biçem dizgesinde zaman gösterim biçemini
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <code>%{<em>biçem</em>}t</code> şeklinde belirtmek de mümkündür.
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi Buradaki <code><em>biçem</em></code> dizgesi, stardart C
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi kütüphanesindeki <code>strftime(3)</code> işlevi için tanımlanmış
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun biçem belirteçleriyle veya desteklenen özel belirteçlerle
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun oluşturulabilir. Ayrıntılı bilgi için <module>mod_log_config</module>
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun <a href="mod/mod_log_config.html#formats">biçem dizgelerine</a>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <dd>İstemciden alınan istek satırının çift tırnaklar arasında
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi gösterilmesi istenmiştir. İstek satırı en yararlı bilgi parçalarını
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi içerir. Birincisi, istemci tarafından kullanılan yöntem
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <code>/apache_pb.gif</code> dosyasını istemiş ve üçüncü olarak
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi istemci <code>HTTP/1.0</code> protokolünü kullanmış. İstek satırının
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi bazı parçalarını bağımsız olarak da günlüklemek mümkündür. Örneğin,
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi "<code>%m %U%q %H</code>" dizgesi, yöntem, yol, sorgu dizgesi ve
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi protokolü kaydedecektir; bu dizge "<code>%r</code>" biçem
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi belirtecinin tek başına yaptığı işi yapar.</dd>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <dd>Bu, sunucunun istemciye gönderdiği durum kodudur. İsteğin
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi başarıyla yerine getirilip getirilmediğini gösterdiği için bu bilgi
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi çok değerlidir. Durum kodu 2 ile başlıyorsa istek başarıyla yerine
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi getirilmiştir, 3 ile başlıyorsa yönlendirilmiştir, 4 ile başlıyorsa
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi istemci tarafında bir hata oluşmuştur, 5 ile başlıyorsa sunucuda bir
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi hata oluşmuştur. Olası hata kodlarının tam listesi <a
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi href="http://www.w3.org/Protocols/rfc2616/rfc2616.txt">RFC2616 Hiper
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi Metin Aktarım Protokolü</a>nün 10. bölümünde bulunabilir.</dd>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <dd>Son parça istemciye döndürülen nesnenin yanıt başlığı hariç
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi uzunluğudur. Eğer istemciye bir içerik döndürülmemişse bu değer
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi "<code>-</code>" olacaktır. Bunun yerine günlüğe "<code>0</code>"
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi yazdırmak için <code>%B</code> belirtecini kullanınız.</dd>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <p>Sıklıkla kullanılan diğer bir biçem dizgesi Birleşik Günlük Biçemi
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi (Combined Log Format) olup şöyle kullanılabilir:</p>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\"
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi \"%{User-agent}i\"" combined<br />
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <p>Bu biçem ilaveten 2 alan içermesi dışında Ortak Günlük Biçemi ile
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi aynıdır. İlave alanların ikisi de <code>%{<em>başlık</em>}i</code>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi biçeminde olup buradaki <code><em>başlık</em></code>, HTTP isteğindeki
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi başlık alanlarından biridir. Bu biçemin kullanıldığı bir erişim
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi günlüğü girdisi şöyle olurdu:</p>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi "http://www.example.com/start.html" "Mozilla/4.08 [en]
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi (Win98; I ;Nav)"
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <dt><code>"http://www.example.com/start.html"</code>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <dd>HTTP istek başlığı "Referer". İstemcinin raporladığı isteğin
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi kaynaklandığı URI. (Bu isteğin yapılmasını sağlayan bağlantıyı
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi içeren URL veya istek bir sayfanın bileşenleri ile ilgiliyse istenen
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi sayfanın URL’si olabilir.)</dd>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <dt><code>"Mozilla/4.08 [en] (Win98; I ;Nav)"</code>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <dd>Tarayıcı kimliğini içeren HTTP istek başlığı. Bu istemcinin
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi tarayıcısının raporladığı kendi tanıtım bilgisidir.</dd>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi module="mod_log_config">CustomLog</directive> yönergesi kullanarak çok
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi sayıda erişim günlüğü kolayca oluşturulabilir. Örneğin aşağıdaki
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi yönergelerle 3 tane erişim günlüğü oluşturulacaktır. İlki temel OGB
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi bilgisini içerirken diğer ikisi isteğin kaynaklandığı yeri ve tarayıcı
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi kimliğini içerir. Son iki <directive module="mod_log_config"
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi >CustomLog</directive> satırı ayrıca, <code>ReferLog</code> ve
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <code>AgentLog</code> yönergelerinin etkilerinin nasıl taklit
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi edileceğini de göstermektedir.</p>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi LogFormat "%h %l %u %t \"%r\" %>s %b" common<br />
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi CustomLog logs/referer_log "%{Referer}i -> %U"<br />
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <p>Bu örnek ayrıca, <directive module="mod_log_config"
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi >LogFormat</directive> yönergesi ile bir takma ad tanımlamanın şart
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi olmadığını da göstermektedir. Günlük biçemi doğrudan <directive
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi module="mod_log_config">CustomLog</directive> yönergesinde
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi belirtilebilir.</p>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <p>Bazı durumlarda istemcinin yaptığı isteğe bağlı olarak erişim
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi günlüğünde belli girdilerin dışlanması gerekebilir. Bu, <a
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi href="env.html" >ortam değişkenleri</a> sayesinde kolayca yerine
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi getirilebilir. Önce isteğin belli koşulları sağladığını belirten bir
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi ortam değişkeni ataması yapılır. Bu işlem <directive
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi module="mod_setenvif">SetEnvIf</directive> yönergesi ile yapılır.
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi Sonra da, ortam değişkenine bağlı olarak isteklerin günlüğe dahil
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi edilip edilmeyeceği <directive
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi module="mod_log_config">CustomLog</directive> yönergesinin
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <code>env=</code> deyimi kullanılarak belirtilir. Bazı örnekler:</p>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi # yerel konaktan kaynaklanan istekleri imleyelim<br />
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi SetEnvIf Remote_Addr "127\.0\.0\.1" kaydetme<br />
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi SetEnvIf Request_URI "^/robots\.txt$" kaydetme<br />
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi # Kalanları günlüğe kaydedelim<br />
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <p>Başka bir örnek olarak, Türkçe belge isteklerini bir dosyaya diğer
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi dillerdeki istekleri başka bir dosyaya kaydedelim.</p>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi SetEnvIf Accept-Language "tr" turkce<br />
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun <p>Bir arabellkleme senaryosuna arabelleğin verimli kullanılıp
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun kullanılmadığını bilmek isteyelim. Bu basitçe şöyle yapılabilir:</p>
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun SetEnv CACHE_MISS 1<br />
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun LogFormat "%h %l %u %t "%r " %>s %b %{CACHE_MISS}e" common-cache<br />
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun <p><module>mod_cache</module> önce <module>mod_env</module> modülünü
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun çalıştıracak ve başarılı olunduğu takdirde içeriği onsuz teslim
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun edecektir. Bu durumda arabellek kaybı <code>1</code> olarak
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun günlüklenirken arabellek sunumu <code>-</code> olarak
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun günlüklenecektir.</p>
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun <p><code>env=</code> sözdizimine ek olarak, <directive
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun module="mod_log_config">LogFormat</directive> HTTP yanıt kodudaki koşul
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun değerlerini günlüklemeyi de destekler:</p>
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun LogFormat "%400,501{User-agent}i" browserlog<br />
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun LogFormat "%!200,304,302{Referer}i" refererlog
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun <p>Bu örnekte, HTTP durum kodu 400 veya 501 ise <code>User-agent</code>
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun başlığı günlüklenecektir. Aksi takdirde, günlüğe bir "-" yazılacaktır.
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun Benzer şekilde ikinci örnekte, HTTP durum kodu 200, 204 veya 302
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun <strong>değilse</strong> (durum kodlarının öncesindeki "!" imine
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun dikkat) <code>Referer</code> başlığı günlüklenecektir.</p>
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun <p>Koşulaa bağlı günlük kaydının çok esnek ve güçlü olabileceğini
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi göstermiş olsak da günlük içeriğini denetlemenin tek yolu bu değildir.
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi Günlük dosyaları sunucu etkinliğini eksiksiz olarak kaydedebildikleri
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi takdirde daha yararlı olurlar. Günlük dosyalarını sonradan işleme tabi
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi tutarak istenmeyen girdileri kaldırılmış bir kopya almak hem kolay hem
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi de daha yararlıdır.</p>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <p>Yükü ağır sunucularda günlük dosyalarına kaydedilen bilginin miktarı
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi çok büyük boyutlara ulaşabilir. 10.000 istek içeren bir erişim günlüğü
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi yaklaşık 1MB yer kaplar. Etkin günlük dosyasını belirli aralıklarla
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun değiştirmek veya silmek gerekebilir. Apache httpd çalışırken dosyayı sürekli
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi açık tuttuğu ve yazdığı için bu işlem sunucu çalışırken yapılamaz. Bu
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi bakımdan, günlük dosyası değiştirildikten veya silindikten sonra yeni
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi dosyanın açılması için <a href="stopping.html">sunucunun yeniden
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <p><a href="stopping.html#graceful">Nazikçe yeniden başlatmak</a>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi suretiyle sunucunun, mevcut ve bekleyen bağlantıları kaybetmeden yeni
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi günlük dosyalarını açması sağlanabilir. Bununla birlikte, bu işlem
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi sırasında sunucunun eski isteklere sunumu bitirene kadar eski günlük
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi dosyalarına yazmaya devam edebilmesi gerekir. Bu bakımdan, yeniden
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi başlatmanın ardından eski günlük dosyaları üzerinde bir işlem yapmadan
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi önce biraz beklemek gerekir. Günlük dosyalarını döndürürken kullanılan
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi senaryolarda genellikle eski günlük dosyaları yer kazanmak için
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi sıkıştırılırlar:</p>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi apachectl graceful<br />
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi sleep 600<br />
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <p>Günlük çevrimi yapmanın başka bir yolu da sonraki bölümde açıklandığı
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi gibi <a href="#piped">borulu günlükler</a> kullanmaktır.</p>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <p>Apache httpd hata ve erişim günlüklerini doğrudan bir dosyaya yazmak
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi yerine bir boru üzerinden başka bir sürece yazabilir. Bu yetenek ana
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi sunucuya herhangi bir kod eklemeksizin günlükleme esnekliğini şaşırtıcı
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi derecede arttırır. Günlükler boruya yazılmak istenirse dosya ismini boru
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi karakteriyle ("<code>|</code>") değiştirip ardına günlük girdilerini
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi standart girdisinden kabul edecek programın ismini eklemek yeterlidir.
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun Apache httpd başlatıldığı zaman borulu günlük işlemini de
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi başlatacaktır. Eğer sunucu çalışırken günlükleri kabul eden süreç
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun çökerse Apache httpd bu programı yeniden başlatır. (Bu son özelliği
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun sebebiyle bu tekniğe “güvenilir borulu günlükleme” adını veriyoruz.)</p>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <p>Borulu günlük süreçleri ana Apache httpd süreci tarafından başlatılır
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi ve bu süreçler ana Apache httpd sürecinin kullanıcı kimliğini miras
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi alırlar. Yani borulu günlükleme programları aslında root tarafından
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi çalıştırılmış gibi olur. Bu bakımdan, bu programları basit ve güvenilir
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi kılmak çok önemlidir.</p>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <p>Borulu günlüklerin önemli kullanım alanlarından biri de sunucuyu
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi yeniden başlatmak gerekmeksizin günlük çevrimini mümkün kılmaktır.
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi Apache HTTP sunucusu bu amaçla kullanılmak üzere
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <program>rotatelogs</program> diye bir program içerir. Örneğin,
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi günlükleri 24 saatte bir döndürmek isterseniz bunu şöyle
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi yapabilirsiniz:</p>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <p>Borunun diğer ucundaki süreci başlatacak komutun tırnak içine
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi alındığına dikkat ediniz. Bu örnekler erişim günlüğü için verilmişse de
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi aynı teknik hata günlüğü için de kullanılabilir.</p>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi href="http://www.cronolog.org/">cronolog</a> isminde buna benzer ancak
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi çok daha esnek bir program daha vardır.</p>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <p>Borulu günlükler de şarta bağlı günlükleme kadar güçlü olmakla beraber
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi çevrimdışı ardıl işlemler gibi daha basit çözümler için
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi kullanılmamalıdır.</p>
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun <p>Öntanımlı olarak borulu günlük süreci bir kabuk kullanmadan
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun çalıştırılır. Kabuk kullanarak (genelde <code>/bin/sh -c</code> ile)
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun yapılmak istenirse "<code>|</code>" yerine "<code>|$</code>"
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun kullanılır:</p>
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun # Kabu kullanarak "rotatelogs" çalıştırmak<br />
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun <p>Bu, Apache 2.2 için öntanımlı davranıştı. Kabuk özelliklerine bağlı
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun olarak, yeniden başlatma sırasındaki sinyal işleme sorunları ve günlük
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun borulama uygulamasının yaşam süresi için ek bir kabuk süreci ile
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun sonuçlanabilir. Apache 2.2 ile uyumluluk açısından "<code>||</code>"
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun gösterimi de desteklenmekte olup "<code>|</code>" kullanımına
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun eşdeğerdir.</p>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <p>Bir sunucu çok sayıda <a href="vhosts/">sanal konak</a> ile hizmet
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi sunarken bunların günlük kayıtları için çeşitli seçenekler mevcuttur.
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi İlk seçenekte, sanki sunucu tek bir konakla hizmet sunuyormuş gibi
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi günlük kaydı yapılır. Günlükleme yönergelerini <directive module="core"
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi type="section">VirtualHost</directive> bölümlerinin dışına, ana sunucu
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi bağlamına yerleştirerek tüm isteklerin aynı erişim ve hata günlüğüne
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi yazılmasını sağlamak olasıdır. Bu teknik, tek tek sanal konaklar için
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi kolayca istatistik toplamaya izin vermez.</p>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <p>Eğer <directive module="mod_log_config">CustomLog</directive>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi veya <directive module="core">ErrorLog</directive> yönergesi bir
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <directive module="core" type="section">VirtualHost</directive> bölümüne
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi yerleştirilirse bu sanal konağa bütün erişimler veya hatalar belirtilen
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi dosyaya günlüklenecektir. Böyle günlükleme yönergeleri içermeyen sanal
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi konakların günlükleri hala ana sunucunun hata ve erişim günlüklerine
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi yazılmaya devam edecektir. Bu teknik az sayıda sanal konak barındıran
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi sunucular için çok kullanışlıdır. Fakat sanal konak sayısı çok fazlaysa
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi bu teknikle günlük dosyalarını yönetmek çok karmaşık bir hal alabilir.
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi Ayrıca, <a href="vhosts/fd-limits.html">yetersiz dosya tanıtıcısı</a>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi sorunlarıyla çok sık karşılaşılabilir.</p>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <p>Erişim günlükleri için çok az bir fedakarlıkla çok iyi bir çözüm vardır.
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi Günlük biçemine sanal konaklarla ilgili bilgi eklemek suretiyle tüm
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi konakların aynı günlük dosyasını kullanmaları olasıdır. Böylece günlük
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi dosyası sonradan her sanal konak için ayrı bir dosya oluşturmak üzere
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi ayrıştırılabilir. Örneğin, bu işlem için şu yönergeler kullanılıyor
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi LogFormat "%v %l %u %t \"%r\" %>s %b"
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi ortaksankon<br />
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <p><code>%v</code> belirteci isteği sunan sanal konağın ismini günlüğe
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi yazmak için kullanılır. Daha sonra <a
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi href="programs/other.html">split-logfile</a> gibi bir program
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi kullanarak, bu dosyadan her sanal konak için ayrı birer dosya elde
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi edilebilir.</p>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <modulelist>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi </modulelist>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <directivelist>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <directive module="mod_log_config">LogFormat</directive>
99cef7b4ddb1c9b2a05ea664fc04dcc83a63e8benilgun <directive module="mod_log_config">BufferedLogs</directive>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <directive module="mod_log_forensic">ForensicLog</directive>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <directive module="mod_cgi">ScriptLogBuffer</directive>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <directive module="mod_cgi">ScriptLogLength</directive>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi </directivelist>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <title>Gönderilen ve alınan bayt sayısının günlüklenmesi</title>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi module="mod_log_config">LogFormat</directive> yönergesinde kullanılan
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi biçem belirteçlerine alınan ve gönderilen bayt sayıları için iki
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi belirteç (%I ve %O) ekler.</p>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <p><module>mod_log_forensic</module> modülü istemci isteklerinin kanıt
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi olarak kullanılmak amacıyla günlüklenmesini sağlar. Günlükleme her
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi istek için isteğe hizmet sunmadan önce ve sonra olmak üzere iki defa
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi yapılır. Böylece günlük dosyasında başarılı her istek için iki satır
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi bulunur. Adli günlükleme çok sıkı kurallara tabi olup
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi kişiselleştirilemez. Güvenlik ve hata ayıklama aracı olarak yararlı
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi değildir.</p>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <p>Apache httpd başlatıldığında, ana httpd sürecinin kimliği (PID)
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <code>logs/httpd.pid</code> dosyasına kaydedilir. Bu dosyanın ismi
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <directive module="mpm_common">PidFile</directive> yönergesi ile
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi değiştirilebilir. Bu süreç kimliği sistem yöneticisi tarafından ana
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi sürece sinyal göndererek artalan sürecini sonlandırmak veya yeniden
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi başlatmak için kullanılır. Windows üzerinde bu işlem için
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <code>-k</code> komut satırı seçeneği kullanılır. Bu konuda daha
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi ayrıntılı bilgi edinmek için <a href="stopping.html">Durdurma ve
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi <p><directive module="mod_cgi">ScriptLog</directive> yönergesi CGI
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi betiklerinin girdi ve çıktılarını kaydetmenizi mümkün kılmak suretiyle
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi hata ayıklamaya yardımcı olur. Bu sadece deneysel amaçla kullanılmalı,
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi asıl sunucuya uygulanmamalıdır. <a href="mod/mod_cgi.html">mod_cgi</a>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi belgesinde daha fazla bilgi bulunabilir.</p>
f42e2910b27be09508e0e0c0a8237d3847d280abtakashi</manualpage>