java - Custom Handler not added to own Logger -
i'm using jboss 7.1 , want use custom handler module. problem handler not added logger.
standalone.xml:
... <subsystem xmlns="urn:jboss:domain:logging:1.1"> ... <custom-handler name="custom" class="my.company.logging.handler.myhandler" module="my.company.logging.handler"> <level name="info"/> <formatter> <pattern-formatter pattern="%d{hh:mm:ss,sss} %-5p [%c] (%t) %s%e%n"/> </formatter> </custom-handler> ... <logger category="my.company"> <level name="info"/> <handlers> <handler name="custom"/> </handlers> </logger> <root-logger> <level name="info"/> <handlers> <handler name="console"/> <handler name="file"/> </handlers> </root-logger> </subsystem> ...
a demo class using org.jboss.logging.logger: ( example class quickstarts: "jboss-as-log4j" )
package my.company.logging.test; @sessionscoped @named public class logdemo implements serializable { private final logger logger; private string text; public logdemo() { logger = logger.getlogger(getclass()); } public string gettext() { return text; } public void settext(string text) { this.text = text; } public void log() { logger.info(this.gettext()); this.settext(null); } }
in way no logs send handler.
i tried add handler rootlogger works log not logs own logger.
does know problem be?
greets martin
edit:
myhandler:
package my.company.logging.handler; public class myhandler extends handler { private mongoclient mongoclient; private db db; public myhandler() { system.out.println("new myhandler"); if (connect()) { system.out.println("mongo connected!"); } else { system.out.println("mongo not connected!"); } } private boolean connect() { try { this.mongoclient = new mongoclient(); this.db = mongoclient.getdb("testlogging"); return true; } catch (unknownhostexception e) { return false; } } @override public void close() throws securityexception { mongoclient.close(); } @override public void flush() { } @override public void publish(logrecord record) { dbcollection collection = db.getcollection(record.getloggername()); final basicdbobject logrecord = new basicdbobject("message", record.getmessage()); logrecord.put("level", record.getlevel().tostring()); object[] parameters = record.getparameters(); (int = 0; < parameters.length; i++) { logrecord.put("parameter" + i, parameters[i].tostring()); } system.out.println("..."); string result = collection.insert(logrecord).geterror(); if (result != null) system.out.println("something went wrong: " + result); else system.out.println("ok"); } }
note: when add handler root logger in standalone.xml works each module exept own war.
does config works modules in jboss or should works war's?
Comments
Post a Comment