Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Struts i log4j - gde ubaciti inicijalizaciju?

[es] :: Java :: Struts i log4j - gde ubaciti inicijalizaciju?

[ Pregleda: 3832 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

sspasic
Sasa Spasic

Član broj: 3261
Poruke: 175
*.medianis.net

Jabber: sspasic@elitesecurity.org
ICQ: 35454521


Profil

icon Struts i log4j - gde ubaciti inicijalizaciju?11.02.2004. u 17:11 - pre 245 meseci
Imam sledeći problem:

Želim da konfigurišem log4j iz properties fajla ali nisam siguran gde da postavim kod za inicijalizaciju, pošto koristim struts.

Zna li neko rešenje?

Palo mi je napamet da nasledim struts servlet (org.apache.struts.action.ActionServlet) i preklopim init metod. Postoji li nešto elegantnije?
 
Odgovor na temu

Last Man Standing
Misha Kostich
Chicago

Član broj: 3775
Poruke: 101
*.client.comcast.net



+1 Profil

icon Re: Struts i log4j - gde ubaciti inicijalizaciju?12.02.2004. u 03:54 - pre 245 meseci
Pogledaj:

http://logging.apache.org/log4j/docs/manual.html pri dnu.

Kod za init mozes da stavis i u context listener (Dejane, hvala za tip). Mislim da je to najelegantnije. U web.xml:

<listener>
<listener-class> tvojaKlasa </listener-class>
</listener>

tvojaKlasa treba da implementira ServletContextListener. Property file definisi kao servlet parameter, procitaj ga u tvojaKlasa i gotovo. Svejedno je da li koristis Struts ili ne.

A computer once beat me at chess, but it was no match for me at kick boxing.
 
Odgovor na temu

dejankr
Dejan Krsmanovic
JavaEE programer
Beograd

Član broj: 7842
Poruke: 384
195.178.47.*



+1 Profil

icon Re: Struts i log4j - gde ubaciti inicijalizaciju?12.02.2004. u 07:56 - pre 245 meseci
Da li si siguran da ti treba uopšte kod za inicijalizaciju? Ako staviš log4j.properties u classpath tj. u classes direktorijum web aplikacije log4j bi trebalo sve sam da odradi. Isto važi i ako log4j koristiš preko commons-logging-a (koji i Struts koristi). Commons-logging ti je možda i najjednostavnije rešenje jer će uvek da ti vrši logovanje, čak i ako ne podesiš ništa izbacivaće poruke na ekran (nema ono log4j error: cannot initalize...).

Citat:
(Dejane, hvala za tip)

Molim, i drugi put!
 
Odgovor na temu

mca
Bgd

Član broj: 3986
Poruke: 131
*.ceetel.co.yu



Profil

icon Re: Struts i log4j - gde ubaciti inicijalizaciju?12.02.2004. u 12:10 - pre 245 meseci
Mislim da nece moci.
Tj ako vec postoji (a recimo u JBoss-u postoji definisan log4j.properties) onda dzabe, mora kroz servlet ili kako je napisano iznad.

E sad da li neko ima ideju kako kod Jboss-a ubaciti log4j, ali bez servleta ili web aplikacije, jer nekad mi treba samo business deo (ejbovi) i voleobih da imam log4j, a ne mogu bez servleta.
Ili generalnije pitanje: gde smestiti neke konfigurabilne propertije koji bi se loadovali pri podizanju business dela, bez web aplikacije? Do sad sam sve ubacivo iz servleta, ali to je lose resenje.

Milan
 
Odgovor na temu

dejankr
Dejan Krsmanovic
JavaEE programer
Beograd

Član broj: 7842
Poruke: 384
195.178.47.*



+1 Profil

icon Re: Struts i log4j - gde ubaciti inicijalizaciju?12.02.2004. u 13:05 - pre 245 meseci
Kod web aplikacija (Tomact na primer) ovo sigurno radi, jer se svaka Web aplikacija ima svoj classloader. S JBoss-om nisam preterano radio tako da nisam siguran...
 
Odgovor na temu

sspasic
Sasa Spasic

Član broj: 3261
Poruke: 175
*.medianis.net

Jabber: sspasic@elitesecurity.org
ICQ: 35454521


Profil

icon Re: Struts i log4j - gde ubaciti inicijalizaciju?12.02.2004. u 13:57 - pre 245 meseci
Prvo, hvala svima na pomoci - ovo sa stavljanjem log4j.properties u CLASSPATH radi
sa Tomcat-om. Dovoljno je staviti fajl u WEB-INF/classes aplikacije.

Inace, za inicijalizaciju mi je palo napamet da bi mogla da se izvede i pomocu filtera.
Trenutno npr. u istoj aplikaciji u filteru postavljam NDC za log4j. Mislim da bi tu mogla i inicijalizacija, ako onaj fazon sa classpath iz nekog razloga ne moze da se iskoristi.
Treba samo povesti racuna da se inicijalizacija izvrsi samo jednom i da inicijalizaciona funkcija bude sinhronizovana.
 
Odgovor na temu

dejankr
Dejan Krsmanovic
JavaEE programer
Beograd

Član broj: 7842
Poruke: 384
195.178.47.*



+1 Profil

icon Re: Struts i log4j - gde ubaciti inicijalizaciju?12.02.2004. u 14:06 - pre 245 meseci
Citat:
sspasic:
Inace, za inicijalizaciju mi je palo napamet da bi mogla da se izvede i pomocu filtera.
Trenutno npr. u istoj aplikaciji u filteru postavljam NDC za log4j. Mislim da bi tu mogla i inicijalizacija, ako onaj fazon sa classpath iz nekog razloga ne moze da se iskoristi.
Treba samo povesti racuna da se inicijalizacija izvrsi samo jednom i da inicijalizaciona funkcija bude sinhronizovana.


Za inicijalizaciju kod web aplikacija uvek koristi ContextListener klasu kako je Miša objasnio jer se ona izvršava samo jednom, prilikom inicijalizacije web aplijacije (u istoj klasi možeš da implementiraš kod koji se izvršava prilikom obaranja aplikacije). Ovo je ubedljivo najelegantnije rešenje pošto mislim da inicijalizacija filtera ne mora da se obavi prilikom dizanja aplikacije. Jedino u slučaju da koristiš servlet 2.2 specifikaciju (Tomcat 3.x) onda koristi Servlet sa load-on-startup opcijom pošto su se ContextListeneri pojavili sa Servlet 2.3 spec.
 
Odgovor na temu

sspasic
Sasa Spasic

Član broj: 3261
Poruke: 175
*.medianis.net

Jabber: sspasic@elitesecurity.org
ICQ: 35454521


Profil

icon Re: Struts i log4j - gde ubaciti inicijalizaciju?12.02.2004. u 14:17 - pre 245 meseci
Da, u pravu si...
 
Odgovor na temu

dejankr
Dejan Krsmanovic
JavaEE programer
Beograd

Član broj: 7842
Poruke: 384
195.178.47.*



+1 Profil

icon Re: Struts i log4j - gde ubaciti inicijalizaciju?13.02.2004. u 08:40 - pre 245 meseci
Citat:
mca:
E sad da li neko ima ideju kako kod Jboss-a ubaciti log4j, ali bez servleta ili web aplikacije, jer nekad mi treba samo business deo (ejbovi) i voleobih da imam log4j, a ne mogu bez servleta.


Baš danas sam nabavio knjigu (dobro nije baš knjiga - 30 strana, ali je JBoss naplaćuje) Using Log4j with JBoss. Strašno na šta oni uzimaju pare a još gore je to što ti uopšte treba knjiga da bi podesio Log4j u JBoss!!!! Ako ti treba, mogu da ti šibnem na mail...
 
Odgovor na temu

mca
Bgd

Član broj: 3986
Poruke: 131
*.ceetel.co.yu



Profil

icon Re: Struts i log4j - gde ubaciti inicijalizaciju?13.02.2004. u 09:38 - pre 245 meseci
Citat:
dejankr:

Baš danas sam nabavio knjigu (dobro nije baš knjiga - 30 strana, ali je JBoss naplaćuje) Using Log4j with JBoss. Strašno na šta oni uzimaju pare a još gore je to što ti uopšte treba knjiga da bi podesio Log4j u JBoss!!!! Ako ti treba, mogu da ti šibnem na mail...


Znam da su knjige katastrofalne, ali bio bih zahvalan ako mogu da je dobijem.
Ja imam onu kao glavnu koja je velika oko 10 mb, a 90% stvari je samo nabrojano bez i jednog konkretnog primera.

Moj mail ide u PM.

Usput, da ponovim pitanje da li mozda imas neku ideju kako i gde staviti inicijalizaciju za enterprise deo (neki property fajl koji bi se loadovao prvi i i posle koristio u EJB-ovima - tj koristili bi se propertiji). JBoss ima neke svoje varijante, koje su naravno daleko od portabilinih. Znaci generalno pitanje, kako obezbediti da se neka klasa prva loaduje.

Ima recimo varijanta da se napravi metoda za lodaovanje sa fajl sistema,
i da se ona poziva iz static bloka neke klase, koja bi opet sa svoje strane bila static polje u recimo nadklasi svih EJB klasa. Sta mislite o tome?

Milan
 
Odgovor na temu

dejankr
Dejan Krsmanovic
JavaEE programer
Beograd

Član broj: 7842
Poruke: 384
195.178.47.*



+1 Profil

icon Re: Struts i log4j - gde ubaciti inicijalizaciju?13.02.2004. u 13:16 - pre 245 meseci
Citat:
mca:

Usput, da ponovim pitanje da li mozda imas neku ideju kako i gde staviti inicijalizaciju za enterprise deo (neki property fajl koji bi se loadovao prvi i i posle koristio u EJB-ovima - tj koristili bi se propertiji). JBoss ima neke svoje varijante, koje su naravno daleko od portabilinih. Znaci generalno pitanje, kako obezbediti da se neka klasa prva loaduje.

Ima recimo varijanta da se napravi metoda za lodaovanje sa fajl sistema,
i da se ona poziva iz static bloka neke klase, koja bi opet sa svoje strane bila static polje u recimo nadklasi svih EJB klasa. Sta mislite o tome?

Milan


U principu izbegavam EJB-ove kad god je to moguće ali koliko se sećam pristup fajl sistemu iz EJB-ova je zabranjen. Verovatno možeš praviti neke helper klase za indirektan prisup ali pretpostavljam da je pristup fajl sistemu zabranjen iz dobrih razloga (rad u klasterima i sl). Po meni je bolja varijanta držati fajlove u classpath-u (jar fajlu) i učitavati ga kao resurs preko ClassLoadera.
Code:

InputStream is = Thread.getCurrentThread().getContextClassLoader().getResourceAsStream(fileName);


 
Odgovor na temu

[es] :: Java :: Struts i log4j - gde ubaciti inicijalizaciju?

[ Pregleda: 3832 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.