log4j, vlastny appender a PropertyConfigurator

2009-08-11 Tema obsahu Dusan Zatkovsky
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

2009-08-11 Tema obsahu Pavel Savara
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

2009-08-11 Tema obsahu Dusan Zatkovsky
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

2009-08-11 Tema obsahu Dusan Zatkovsky
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

2009-08-11 Tema obsahu Ján Valkovič
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

2009-08-11 Tema obsahu Dusan Zatkovsky
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