log4j etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
log4j etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

17 Mart 2016 Perşembe

Java-logback entegrasyonu

Merhaba bu yazımda sizlere Java-logback entegrasyonundan bahsedeceğim.
Logback  Ceki Gülcü tarafından tasarlanan ve log4j mimarisinin devamı olan bir loglama sistemidir.  Logback  şuan için  popüler ve kullanımı kolaydır.

Logback’i projelerimizde kullanabilmemiz için slf4j-api, logback-core ve logback-classic jar dosyalarını Java projemize dahil etmemiz gerekiyor.  Ben bu işlemi yine maven aracılığıyla yaptım. dependency tanımları aşağıdadır:


Slf4j-api
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.12</version>
</dependency>


logback-classic
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.1.3</version>
</dependency>


logback-core
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-core</artifactId>
    <version>1.1.3</version>
</dependency>


üstteki dependency leri  projemizdeki pom.xml dosyasına dahil  ettikten sonra logback’i konfigüre etmeye başlayabiliriz. Logback,  classpath te varsayılan durumda  logback.xml yada logback-test.xml dosyası arayacaktır.  Bu dosyaları oluşturarak içerisinde logları nereye yazacağımızı ve hangi seviyede loglama yapacağımızı belirtiyoruz.



Yukarıdkai işlemleri yaptıktan sonra geriye logback’i kullanmak kalıyor.
Loglama yapmak istediğimiz class’a giderk
private static final Logger logger = LoggerFactory.getLogger(Run.class);

şeklinde tanımlama yapıyoruz. getLogger methoduna hangi class'ı loglamak istediğimizi yazıyoruz.  Bu tanımlamadan sonra  logger.[log-level]  şeklinde istediğimiz logları yazdırabiliriz.

Örnek:
logger.info("info");

logger.debug("debug");

logger.error("error");

logger.warn("warning");

logger.trace("trace");


kaynak dosyalar(github) : indirmek için tıklayın





29 Haziran 2015 Pazartesi

Hibernate sql sorgu parametrelerini görüntülemek

Merhaba arkadaşlar,
bu yazımda sizlere küçük fakat önemli bir ayrıntıdan bahsedeceğim.
Hibernate ile veri tabanı işlemleri yaparken eğer özel bir ayar yapmadıysaınız sorgu parametrelerini göremezsiniz. Bazı durumlarda bu parametreleri görüntüleme ihtiyacınız doğabilir. Örneğin veri tabanına insert edilen değerleri debug yöntemiyle görmek isteyebilirsiniz. bu durumda yapmanız gereken iki adım var.

1-)hibernate.cfg.xml dosyasında sql cümlesini görüntülemek için  aşağıdaki ayarı yapın
 <property name="show_sql">true</property>

2-) log4j.properties dosyasında hibernate log level ını INFO yada ALL seviyesine çekin.


log4j.logger.org.hibernate=INFO

veya


 log4j.logger.org.hibernate.type=ALL

bu işlemler sonunda  hibernate ile yaptığınız db operasyonlarının parametre bazlı inceleyebilirsiniz.

üstteki ayarlardan önce:
  insert into persons (age, createdate, lastname, name) values (?, ?, ?, ?)

ayar yaptıktan sonra :
 Hibernate: insert into persons (age, createdate, lastname, name) values (?, ?, ?, ?)
00:25:37,219 TRACE BasicBinder:82 - binding parameter [1] as [INTEGER] - 33
00:25:37,228 TRACE BasicBinder:82 - binding parameter [2] as [DATE] - Mon Jun 29 00:25:37 EEST 2015
00:25:37,242 TRACE BasicBinder:82 - binding parameter [3] as [VARCHAR] - veli
00:25:37,242 TRACE BasicBinder:82 - binding parameter [4] as [VARCHAR] - ali


Bir önceki yazım için hazırladığım projede üstteki ayarları yapmıştım. Aşağıdaki linkten bu projeye erişebilirsiniz.

kaynak dosyalar(github) : indirmek için tıklayın