Why SLAB SqlDatabaseSink stopped writing to Traces table? -


slab sqldatabasesink stopped writing traces table

i added flatfilesink in parallel make sure listener not issue, writes fine file. have unit test sqldatabasesink works fine, when subscribing main project via global.asax flatfilesink works. screenshots below.

added slab internal event listener per @manikrish 's suggestion (thank that), here underlying sqldatabasesink error log "could not load file or assembly 'newtonsoft.json, version=4.5.0.0, culture=neutral, publickeytoken=30ad4fe6b2a6aeed'" - details below, slab internal log.

next, compared reference properties of newtonsoft.json between main project , unit test project (who's sqldatabasesink works), both using version 6.0.8 (i believe webapi 5.2.3 came it), noticed specific version false in latter. so, i made same change in main project, still no luck.

also, main project's web.config , unit test project's app.config have same assembly binding also:

  <dependentassembly>     <assemblyidentity name="newtonsoft.json" publickeytoken="30ad4fe6b2a6aeed" culture="neutral" />     <bindingredirect oldversion="0.0.0.0-6.0.0.0" newversion="6.0.0.0" />   </dependentassembly> 

next, tried addressing binding redirect issue changing reference properties in web.config, packages.config, csproj; reinstalling/updating newtonsoft.json , calling assembly's (microsoft.practices.enterpriselibrary.semanticlogging) nuget package based on other stackoverflow questions (links below), still no luck - same binding error in slab internal log, there no evidence of biding redirect.

slab internal log:

opcode : info task : 65433 version : 0 payload : [message : system.io.fileloadexception: not load file or assembly 'newtonsoft.json, version=4.5.0.0, culture=neutral, publickeytoken=30ad4fe6b2a6aeed' or 1 of dependencies. located assembly's manifest definition not match assembly reference. (exception hresult: 0x80131040) file name: 'newtonsoft.json, version=4.5.0.0, culture=neutral, publickeytoken=30ad4fe6b2a6aeed'    @ system.data.sqlclient.sqlparameter.coercevalue(object value, metatype destinationtype, boolean& coercedtodatafeed, boolean& typechanged, boolean allowstreaming)    @ system.data.sqlclient.sqlparameter.getcoercedvalue()    @ system.data.sqlclient.sqlparameter.validate(int32 index, boolean iscommandproc)    @ system.data.sqlclient.sqlcommand.setuprpcparameters(_sqlrpc rpc, int32 startcount, boolean inschema, sqlparametercollection parameters)    @ system.data.sqlclient.sqlcommand.buildrpc(boolean inschema, sqlparametercollection parameters, _sqlrpc& rpc)    @ system.data.sqlclient.sqlcommand.runexecutereadertds(commandbehavior cmdbehavior, runbehavior runbehavior, boolean returnstream, boolean async, int32 timeout, task& task, boolean asyncwrite, sqldatareader ds, boolean describeparameterencryptionrequest)    @ system.data.sqlclient.sqlcommand.runexecutereader(commandbehavior cmdbehavior, runbehavior runbehavior, boolean returnstream, string method, taskcompletionsource`1 completion, int32 timeout, task& task, boolean asyncwrite)    @ system.data.sqlclient.sqlcommand.internalexecutenonquery(taskcompletionsource`1 completion, string methodname, boolean sendtopipe, int32 timeout, boolean asyncwrite)    @ system.data.sqlclient.sqlcommand.beginexecutenonqueryinternal(asynccallback callback, object stateobject, int32 timeout, boolean asyncwrite)    @ system.data.sqlclient.sqlcommand.beginexecutenonqueryasync(asynccallback callback, object stateobject)    @ system.threading.tasks.taskfactory`1.fromasyncimpl(func`3 beginmethod, func`2 endfunction, action`1 endaction, object state, taskcreationoptions creationoptions)    @ system.threading.tasks.taskfactory`1.fromasync(func`3 beginmethod, func`2 endmethod, object state)    @ system.data.sqlclient.sqlcommand.executenonqueryasync(cancellationtoken cancellationtoken) --- end of stack trace previous location exception thrown ---    @ system.runtime.compilerservices.taskawaiter.throwfornonsuccess(task task)    @ system.runtime.compilerservices.taskawaiter.handlenonsuccessanddebuggernotification(task task)    @ microsoft.practices.enterpriselibrary.semanticlogging.sinks.sqldatabasesink.<>c__displayclass14.<<usestoredprocedure>b__13>d__16.movenext() --- end of stack trace previous location exception thrown ---    @ system.runtime.compilerservices.taskawaiter.throwfornonsuccess(task task)    @ system.runtime.compilerservices.taskawaiter.handlenonsuccessanddebuggernotification(task task)    @ microsoft.practices.enterpriselibrary.semanticlogging.sinks.sqldatabasesink.<usestoredprocedure>d__1d.movenext() --- end of stack trace previous location exception thrown ---    @ system.runtime.compilerservices.taskawaiter.throwfornonsuccess(task task)    @ system.runtime.compilerservices.taskawaiter.handlenonsuccessanddebuggernotification(task task)    @ microsoft.practices.enterpriselibrary.semanticlogging.sinks.sqldatabasesink.<publisheventsasync>d__0.movenext()  === pre-bind state information === log: displayname = newtonsoft.json, version=4.5.0.0, culture=neutral, publickeytoken=30ad4fe6b2a6aeed  (fully-specified) log: appbase = file:///c:/work/starlims/amo/server/tfs/amo/eyenet/ai.eyenet/ log: initial privatepath = c:\work\starlims\amo\server\tfs\amo\eyenet\ai.eyenet\bin calling assembly : microsoft.practices.enterpriselibrary.semanticlogging, version=2.0.0.0, culture=neutral, publickeytoken=31bf3856ad364e35. === log: bind starts in default load context. log: using application configuration file: c:\work\starlims\amo\server\tfs\amo\eyenet\ai.eyenet\web.config log: using host configuration file: c:\users\siliodx\documents\iisexpress\config\aspnet.config log: using machine configuration file c:\windows\microsoft.net\framework\v4.0.30319\config\machine.config. log: post-policy reference: newtonsoft.json, version=4.5.0.0, culture=neutral, publickeytoken=30ad4fe6b2a6aeed log: attempting download of new url file:///c:/windows/microsoft.net/framework/v4.0.30319/temporary asp.net files/vs/74a40fb9/3b0c98c/newtonsoft.json.dll. log: attempting download of new url file:///c:/windows/microsoft.net/framework/v4.0.30319/temporary asp.net files/vs/74a40fb9/3b0c98c/newtonsoft.json/newtonsoft.json.dll. log: attempting download of new url file:///c:/work/starlims/amo/server/tfs/amo/eyenet/ai.eyenet/bin/newtonsoft.json.dll. wrn: comparing assembly name resulted in mismatch: major version err: failed complete setup of assembly (hr = 0x80131040). probing terminated. ]  eventname : databasesinkpublisheventsfailedinfo timestamp : 2015-06-05t11:56:54.5518724z processid : 6752 threadid : 12060 

stackoverflow supporting links:

infamous assembly binding error

could not load file or assembly 'newtonsoft.json' or 1 of dependencies. manifest definition not match assembly reference

newtonsoft.json.dll issue when using multiple projects

assembly mismatch despite having assembly redirect , loading correct version

screenshots: global.asax slab configuration call

slab configuration

nuget slab packages in project

the semantic logging application block logs internal events pre-defined event source called semanticloggingeventsource. create additional listener logs events event source different sink.

for example, snippet below shows how log internal events file:

var slabinternalnotificationslistener = new observableeventlistener(); slabinternalnotificationslistener.logtoflatfile(@".\errors.txt"); slabinternalnotificationslistener.enableevents(semanticloggingeventsource.log, system.diagnostics.tracing.eventlevel.verbose, keywords.all); 

please take @ logs semanticloggingeventsource see why sql sink not logging events.


Comments

Popular posts from this blog

Magento/PHP - Get phones on all members in a customer group -

php - .htaccess mod_rewrite for dynamic url which has domain names -

Website Login Issue developed in magento -