<$BlogRSDURL$>

Java Log Sistemleri 

Her uygulama, bir şekilde kullanıcı, yönetici ve hatta yazarını, işlemesi sırasında gerçekleşen olaylardan haberdar etmelidir. Bu uygulamanın bakımı, oluşan hataların düzeltilmesi ve uygulamanın nasıl bir iyileştirmeye ihtiyacı olacağını belirlemek için gereklidir. Java dünyası bu probleme çözüm olarak olarak çeşitli kayıt sistemleri ( logging ) geliştirmiştir.

System.out ve System.err
Bir java uygulaması içerisinden kayıt tutmak için en basit yöntem, System.out ya da System.err kullanmaktır. Küçük - özellikle PDA ve benzeri donanımlarda çalışan - uygulamalar için kullanışlı olabilir fakat sunucu ya da masaüstü uygulamalarda yeterli olmayacağı açıktır.

Log4j

Apache tarafından geliştirilen ve Java log sistemleri konusunda de facto standart konumunda olan bu kütüphane, bir log sistemi için gerekli her türlü yapıya ve bileşene sahip durumda.

Uygulama içerisinden çağıracağınız basit log yazma fonksiyonları ile hazırlayacağınız kayıtlar, sistem yöneticisi tarafından ayarlanan çeşitli çıktı araçlarına yönlendirilmektedir. Bu çıktı araçları, en basitinden konsol ve düz metin dosyalar olabileceği gibi, Unix sistem kayıt dosyaları ( syslog ), NT kayıt araçları ( EventLog ), eposta, uzak kayıt sunucuları ve hatta SMS ile mobil telefonunuz bile olabilir.

Ayrıca çıktı formatları, çıktı detay seviyeleri de sistem yöneticisi tarafından ayarlanabilmektedir. Bu sayede, uygulama henüz yeni iken çok detaylı hata ayıklama çıktıları alırken, uygulama yerleştikten sonra bu çıktı detayı azaltılarak sadece hataların kaydı tutulabilir.



java.util.logging
Java 1.4 ile birlikte J2SE içerisinde bir log kütüphanesi de yer almaktadır. Bu kütüphane log4j'ye benzer bir yapı sergilemektedir. Üretilen kayıtların formatlanması ve nereye yazılacağı ile ilgili modülleri bulunmaktadır. J2SE ile gelen ortam sürücüleri ( Appender ) 5 tane olmakla birlikte internetted farklı sürücüler de bulunmaktadır.

package com.wombat;

import java.util.logging.*;

public class Nose {
   private static Logger logger = Logger.getLogger("com.wombat.nose");
   private static FileHandler fh = new FileHandler("mylog.txt");
   public static void main(String argv[]) {
      // Send logger output to our FileHandler.
      logger.addHandler(fh);
      // Request that every detail gets logged.
      logger.setLevel(Level.ALL);
      // Log a simple INFO message.
      logger.info("doing stuff");
      try {
         Wombat.sneeze();
      } catch (Error ex) {
         logger.log(Level.WARNING, "trouble sneezing", ex);
      }
      logger.fine("done");
   }
}



Apache Jakarta Commons Logging ( JCL )
Bir çok log kütüphanesinin olduğu bir ortamda yazdığınız generik kodun uygulamadan bağımsız kendi log sistemini kullanması pek hoş olmayacaktır. JCL'de bu duruma çözüm olarak geliştirilmiş bir özet kütüphane. Farklı log kütüphanelerini standart bir arayüz üzerinden kullanmayı sağlıyor. Uygulamanız commons logging fonksiyonlarını o da sisteminizde bulunan log kütüphanesi kullanıyor.

JCL şu anda Log4J, Avalon LogKit, JDK 1.4 Log sistemi ve bu sistemin daha eski java versiyonlerı için olan sürümünü destekliyor.

Diğerleri
Java Log sistemleri bu kadar değil tabiki. Her uygulama sunucusunun da getirdiği çeşitli çözümler bulunmakta. Bunların bir kısmı log4j'nin çeşitli sürümlerini kullanırken bir kısmı tamamen kendi özel çözümlerini sunmaktalar. Ayrıca açık kaynak kodlu olarak geliştirilen jLo, Monolog gibi başka kütüphaneler de bulunuyor.

Bağlar
Log4J
Jakarta Common Logging
JDK 1.4 Log API
Open-Source Logging

Yeni Tasarım 

Cezve'nin okunurluğunu arttırmak ve eskisinden daha güzel görünmesini sağlamak için, tasarım değişikliği yaptım.

Blogger-Templates'den aldığım bir şablon üzerinde oynayarak, görmüş olduğunuz tasarım gerçekleştirildi.

Umarım beğenirsiniz.

Java Teknolojileri Kongresi 

Java Teknolojileri Derneği 18 Haziran Cumartesi günü Bilgi Üniversitesi'nde Türkiye'de ilk kez gerçekleştirilecek olan Java Teknolojileri Kongresi'ni düzenlemekte.

'Java Heryerde' sloganıyla yapılan etkinlikte, Java teknolojisindeki yenilikler, Java araçları, geleceği, platform bağımsızlığı, teknoloji firmalarıyla ilişkileri ele alınacak.

Çeşitli firmaların standlar açacağı etkinlikte Java ile programlanan lego oyuncakları da tanıtılacak ayrıca Java üzerine yazılan kitaplar da yazarları tarafından imzalanacak.

Etkinliğe katılım ücretsiz olacak.
Kayıt ve program için : www.javakongresi.com

Haber kaynağı : NTVMSNBC, Fazlamesai

Cevze, Java yazılım geliştirme ortamı ile ilgili konuları içeren bir Hakan Uygun weblogudur. Yapımında Blogger-Templates'den şablon kullanımıştır. Ayrıca Cezve resmi de mehmetefendi.com'dan alınmıştır.