mongodb - Cannot serialize log message using NoSQLAppender in Log4j2 -


could guys demonstrate how use nosqlappender in log4j2 (2.0-beta8) mongodb ?

i'm using scala (although don't think it's relevant).

java mongo db driver have 2.11.2

appender throws following exception

2013-07-31 18:19:27,831 error exception occurred processing appender databaseappender java.lang.illegalargumentexception: can't serialize class org.apache.logging.log4j.level     @ org.bson.basicbsonencoder._putobjectfield(basicbsonencoder.java:270)     @ org.bson.basicbsonencoder.putobject(basicbsonencoder.java:174)     @ org.bson.basicbsonencoder.putobject(basicbsonencoder.java:120)     @ com.mongodb.defaultdbencoder.writeobject(defaultdbencoder.java:27)     @ com.mongodb.outmessage.putobject(outmessage.java:289)     @ com.mongodb.dbapilayer$mycollection.insert(dbapilayer.java:239)     @ com.mongodb.dbapilayer$mycollection.insert(dbapilayer.java:204)     @ com.mongodb.dbcollection.insert(dbcollection.java:148)     @ com.mongodb.dbcollection.insert(dbcollection.java:91)     @ org.apache.logging.log4j.core.appender.db.nosql.mongo.mongodbconnection.insertobject(mongodbconnection.java:61) 

well, ended implementing transformer level enum this

class levelbsonencoder extends org.bson.transformer {   def transform(o: any): anyref =     o match {       case level: org.apache.logging.log4j.level => new java.lang.integer(level.intlevel())     } }  // used  org.bson.bson.addencodinghook(org.apache.logging.log4j.level.error.getclass, new levelbsonencoder()) 

if know more elegant solution let me know.

ps. well, quick. reported bug https://issues.apache.org/jira/browse/log4j2-330 , maintainers confirmed suggested fix incorporated repo.


Comments

Popular posts from this blog

basic authentication with http post params android -

vb.net - Virtual Keyboard commands -

How to get multiresult with multicondition in Sql Server -