6
2015
Weblogic Sunucusunda Log4j ile Loglama Yapılması
Merhaba,
Bu yazımda Weblogic sunucusu üzerinde koşan bir webservis içerisinden log4j ile configure edilmiş loglama işlemlerinin nasıl yapılacağını anlatmaya çalışacağım.
Ortam Bilgileri
Weblogic Sunucusu : unix makina üzerine kurulu 10.3.5
Java Versiyonu : JDK 1.6
Web Servis projesi kütüphaneleri arasına slf4j-api-1.7.2.jar, slf4j-log4j12-1.7.2.jar jarları eklenir.
import org.slf4j.LoggerFactory; @WebService(serviceName = "DROP_SHIPMENTS_WS") PUBLIC class DROP_SHIPMENTS_WS { /** * logger */ PRIVATE static final org.slf4j.Logger _LOG = LoggerFactory.getLogger(DROP_SHIPMENTS_WS.class); @Resource WebServiceContext wsContext; |
yukarıdaki şekilde web servis classına static olarak logger tanımlaması yapılır.
Ayrıca proje içerisindeki weblogic.xml dosyası içerisine aşağıdaki tanımlama eklenmelidir.
<container-descriptor>
<prefer-application-packages>
<package-name>org.slf4j.*</package-name>
<package-name>org.apache.commons.logging.*</package-name>
</prefer-application-packages>
</container-descriptor> |
container-descriptor tagi arasına yukarıdaki tanımlamalar eklenerek ilgili logların süzülmesi sağlanır.
Bu aşamadan sonra log4j nin property dosyası hazırlanarak domain home una bırakılmalıdır. (unix base sistemde örnek domain home u “/data01/WLS/Oracle/Middleware/user_projects/domains/base_domain” gibidir.)
Bu örnekte log4j.properties isimli bir dosya hazırlanmıştır dosyasının içeriği aşağıdaki gibidir.
log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern=%d %5p %c{1}:%L - %m%n log4j.appender.console.threshold=ERROR log4j.appender.A1=org.apache.log4j.RollingFileAppender log4j.appender.A1.layout=org.apache.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern=%d %5p %c{1}:%L - %m%n log4j.appender.A1.File=/data01/WLS/Oracle/Middleware/user_projects/domains/base_domain/tmp/DROP_SHIPMENTS.LOG log4j.appender.A1.MaxFileSize=5MB log4j.appender.A1.MaxBackupIndex=50 #WARN FOR ALL classes log4j.rootLogger=INFO, A1, console |
Bu property içeriğine göre “/data01/WLS/Oracle/Middleware/user_projects/domains/base_domain/tmp” bu uzantıda DROP_SHIPMENTS.log isimli bir log file oluşacaktır. 5MB ta bir yedeklenerek max 50 yedek oluşacak şekilde bir configurasyon yapılmıştır.Ayrıca formatı ve loglama seviyeleri konfigurasyonda tanımlanmıştır.
Oluşturulan bu file (log4j.properties) /data01/WLS/Oracle/Middleware/user_projects/domains/base_domain içerisine bırakılır.
Bu aşamdan sonra weblogic domain start olduğunda log4j dosyasının initialize olması gerekmektedir bunun sağlanması için ilgili bu domain nin (ki bu örnekte base_domain dir) bin dizini altındaki “startWebLogic.sh” dosyası içerisine
aşağıdaki tanımlamaların eklenmesi gerekmektedir.
# --- log4j start --- LOG4J_CONFIG_FILE="/data01/WLS/Oracle/Middleware/user_projects/domains/base_domain/log4j.properties" IF [ "${LOG4J_CONFIG_FILE}" != "" ] ; THEN JAVA_PROPERTIES="${JAVA_PROPERTIES} -Dlog4j.configuration=${LOG4J_CONFIG_FILE}" fi # --- log4j end --- |
Bu aşamadan sonra eğer domain startup ta ise shutdown edilip yeniden startup yapılmalıdır. Domain start olduğunda ilgili log dosyasını oluştuğunu ve class içerisinde _LOG objesi ile yazılan WARN, ERROR ve INFO satırlarının olduğu görülecektir.
- Write for us sponsored posts - 16 Mayıs 2025
- CameraBag Photo Software 2024.0.0 Download Free For PC - 16 Mayıs 2025
- HTML Görüntüsü için Unicode Dönüşümü - 27 Temmuz 2020
Yazar




