Override default serializer for SerializedLayout in log4net.Ext.Json -


i'm trying log4net.ext.json serialize json. want output this:

{   "data": {     "objectfield1": "foo",     "objectfield2": "bar",     "time": "2015-05-11t12:35:00.05215z"   } } 

where objectfield1 , objectfield2 come message object on loggingevent , time comes log4net pattern this:

%utcdate{yyyy-hh-mm-dd}t%utcdate{hh:mm:ss.fffff}z

is there way add properties message object via configuration? tried following no avail:

  <layout type="log4net.layout.serializedlayout, log4net.ext.json">     <member value="data:messageobject" />     <arrangement value="data:messageobject=time|%utcdate{yyyy-hh-mm-dd}t%utcdate{hh:mm:ss.fffff}z" />     <renderer type="log4net.objectrenderer.jsonobjectrenderer, log4net.ext.json">       <!-- please ignore custom serializer factory setting below -->       <factory type="log4net.util.serializer.jsondotnetserializer, log4net.ext.json.serializers" />     </renderer>   </layout> 

you can achieve either logging such structured object:

        log.info(new { data = new { objectfield1 = "foo", objectfield2 = "bar" } }); 

and using messageobject member only.

or, see if multiplearrangement somewhere:

<member value="data=objectfield1\;objectfield2\;time" /> 

it can used explicitly:

<layout type="log4net.layout.serializedlayout, log4net.ext.json">  <arrangement value="data" type="log4net.layout.arrangements.multiplearrangement, log4net.ext.json">     <arrangement value="objectfield1" type="..." />     <arrangement value="objectfield2" type="..." />  </arrangement> </layout> 

Comments

Popular posts from this blog

android - MPAndroidChart - How to add Annotations or images to the chart -

javascript - Add class to another page attribute using URL id - Jquery -

firefox - Where is 'webgl.osmesalib' parameter? -