snippetjournal

– notes, snippet codes, and my journal

Error Log4j Pada dua Web App yang di deploy pada Tomcat

leave a comment »

Akhir akhir ini sering mendapat error yang tidak umumšŸ˜€ (tidak umum menurut saya, maklum biasa nya hanya ngoding crud sajašŸ˜€ ), berikut ini akan saya share error yang di akibatkan log4j yang di gunakan oleh 2 Web application yang di deploy dalam satu tomcat.

berikut error nya :


SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.util.Log4jConfigListener

java.lang.IllegalStateException: Web app root system property already set to different value: 'webapp.root' = [C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\xx1\] instead of [C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\xx2\] - Choose unique values for the 'webAppRootKey' context-param in your web.xml files!

Secara default resource webapp.root pada tomcat di gunakan secara bersama sama.Ā Error dia atas terjadi karena ketika xx2 akan di deploy property webapp.root pada tomcat sudah di inisialisasi terlebih dahulu oleh xx1. sehingga xx1 gagal terdeploy. untuk di ketahui pada tomcat webapp.root di gunakan secara global.

example log4j configuration in web app xx1

  • log4j.appender.myfile.File=/WEB-INF/xx1.log

example log4j configuration in web app xx2

  • log4j.appender.myfile.File=/WEB-INF/xx2.log

Sebenarnya configurasi pada log4j tertulis seperti ini :

  • log4j.appender.myfile.File=${webapp.root}/WEB-INF/xx1.log
  • log4j.appender.myfile.File=${webapp.root}/WEB-INF/xx2.log

Kedua project/web app mengambil dua property yang sama yaitu webapp.root, sehingga mengalami error, untuk mengatasi error seperti ini ada dua pilihan.

  • Definisikan masing masing webapp.root untuk setiap project/web app pada tomcat (webapp/web.xml)

<context-param>
    <param-name>webAppRootKey</param-name>
    <param-value>webapp.root.cms2</param-value>
</context-param>

  • MenonaktifkanĀ log4jExposeWebAppRoot, (pada kasus saya, opsi ini mengkibatkan file log tidak terupdate ? )

<context-param>
	<param-name>log4jExposeWebAppRoot</param-name>
    <param-value>false</param-value>
</context-param>

referensi :
http://docs.spring.io/spring/docs/1.2.9/api/org/springframework/web/util/Log4jWebConfigurer.html
http://forum.spring.io/forum/spring-projects/container/24012-dual-deployment-hangs-log4jconfiglistener

Written by snippetjournal

December 20, 2013 at 11:34 am

Posted in Programming

Tagged with , ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: