log4j, vlastny appender a PropertyConfigurator
Ahoj. Mam vlastny log4j appender a ten by som rad konfiguroval cez .properties. Netusim ale, ako dostat konfiguracne premenne z .properties do mojho appenderu, pretoze mi na to nepasuje ziadna z jeho metod. Predstavujem si to nejak takto: log4j.appender.A=test.MojAppender log4j.appender.A.foo = faa log4j.appender.A.fii = fuu log4j.rootLogger=INFO, A Rad by som docielil, aby sa pri inicializacii nejak dostalo to foo:faa a fii:fuu do toho appendera. Pozeral som do zdrojakov JDBCAppender, ktory nieco take umoznuje, ale nenasiel som to tam ( resp. nasiel som setUser(), setPassword(), ale netusim, kto ich vola ). Nejaky napad? -- Dusan
Re: log4j, vlastny appender a PropertyConfigurator
Pokud si dobre pamatuju tak log4j vola set metody podle naming convention takze kdyz ve vasem appendru budete mit public void setFoo(String foo){this.foo = foo;} a public String getFoo()... tak se vam hodnoty nastavi automaticky. Palko 2009/8/11 Dusan Zatkovsky msk.c...@gmail.com: Ahoj. Mam vlastny log4j appender a ten by som rad konfiguroval cez .properties. Netusim ale, ako dostat konfiguracne premenne z .properties do mojho appenderu, pretoze mi na to nepasuje ziadna z jeho metod. Predstavujem si to nejak takto: log4j.appender.A=test.MojAppender log4j.appender.A.foo = faa log4j.appender.A.fii = fuu log4j.rootLogger=INFO, A Rad by som docielil, aby sa pri inicializacii nejak dostalo to foo:faa a fii:fuu do toho appendera. Pozeral som do zdrojakov JDBCAppender, ktory nieco take umoznuje, ale nenasiel som to tam ( resp. nasiel som setUser(), setPassword(), ale netusim, kto ich vola ). Nejaky napad? -- Dusan
Re: log4j, vlastny appender a PropertyConfigurator
On Tuesday 11 of August 2009 15:38:48 Pavel Savara wrote: Pokud si dobre pamatuju tak log4j vola set metody podle naming convention takze kdyz ve vasem appendru budete mit public void setFoo(String foo){this.foo = foo;} a public String getFoo()... No, to som z toho JDBCAppendera tak nejak vytusil, ale ked som to skusil, nefungovalo to. Teraz som to skusil znovu na cistom appenderovi a nic. -- Dusan
Re: log4j, vlastny appender a PropertyConfigurator
On Tuesday 11 of August 2009 15:52:16 Dusan Zatkovsky wrote: Attachujem zdrojaky a properties, mne pridu uplne v poriadku. -- Dusan log4j.rootLogger=INFO, S log4j.appender.S=test.SqlAppender2 log4j.appender.S.FOO = 12 log4j.appender.S.fOO = 13 log4j.appender.S.foo = 14 log4j.appender.S.FoO = 15 /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package net.docfix.logging; import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator; //import net.docfix.logging.SqlAppender; /** * * @author msk */ public class Main { public static void main ( String args[] ) throws ClassNotFoundException { PropertyConfigurator.configure(Main.class.getResource(/log4j.properties)); Logger.getRootLogger().info ( f); } } package test; import org.apache.log4j.Layout; import org.apache.log4j.spi.ErrorHandler; import org.apache.log4j.spi.Filter; import org.apache.log4j.spi.LoggingEvent; public class SqlAppender2 implements org.apache.log4j.Appender { private Filter filter; private ErrorHandler errorhandler; private Layout layout; private String name; private String foo; @Override public void addFilter(Filter newFilter) { this.filter = newFilter; } @Override public Filter getFilter() { return filter; } @Override public void clearFilters() { } @Override public void close() { } @Override public void doAppend(LoggingEvent event) { System.out.println(event.toString()); } @Override public String getName() { return name; } @Override public void setErrorHandler(ErrorHandler errorHandler) { this.errorhandler = errorHandler; } @Override public ErrorHandler getErrorHandler() { return errorhandler; } @Override public void setLayout(Layout layout) { this.layout = layout; } @Override public Layout getLayout() { return this.layout; } @Override public void setName(String name) { this.name = name; } @Override public boolean requiresLayout() { return false; } public void setFoo(String s) { System.out.println(setFoo()); this.foo = s; } public String getFoo() { System.out.println(getFoo()); return this.foo; } }
Re: log4j, vlastny appender a PropertyConfigurator
Zdravim, toto nepomoze? http://www.javaworld.com/javaworld/jw-12-2004/jw-1220-toolbox.html?page=5 ya Dňa Ut, 2009-08-11 o 15:52 +0200, Dusan Zatkovsky napísal: On Tuesday 11 of August 2009 15:38:48 Pavel Savara wrote: Pokud si dobre pamatuju tak log4j vola set metody podle naming convention takze kdyz ve vasem appendru budete mit public void setFoo(String foo){this.foo = foo;} a public String getFoo()... No, to som z toho JDBCAppendera tak nejak vytusil, ale ked som to skusil, nefungovalo to. Teraz som to skusil znovu na cistom appenderovi a nic.
Re: log4j, vlastny appender a PropertyConfigurator
On Tuesday 11 of August 2009 16:03:37 Ján Valkovič wrote: Zdravim, toto nepomoze? http://www.javaworld.com/javaworld/jw-12-2004/jw-1220-toolbox.html?page=5 AHA! AppenderSkeleton! :) Ja implementujem Appender interface, o tomto som vobec nevedel. Diky 100x -- Dusan