This issue can't be edited

Because it belongs to an archived project. Jira admins can restore projects from the archive.

Log actual datastore interactions

Description

Currently one can only enable logging of the interactions between the OGM engine and the GridDialect. For a user it's more helpful though to log the actual interactions with the datastore.

Likely this need to be implemented specifically for each datastore (as there is no common query language used for all backends). Also it'd mean to log API invocations rather than queries for most stores.

Environment

None

Activity

Show:

Emmanuel BernardMarch 10, 2015 at 12:53 PM

I guess the operation, name for the cache, key and the value should be logged to be optimally useful.

Gunnar MorlingMarch 10, 2015 at 12:33 PM

So one would have one OGM specific logging category (similar to org.hibernate.SQL in ORM) which when set to the right level would log the data store interactions, right?

Yes, I think that'd make sense.

I guess in the case where there is a "simple" wire protocol (for example the Mongo REST API) you would probably like to log the JSON request, right?

Yes, it could work like that for the CouchDB dialect (which uses JAX-RS/JSON) and Neo4j (where we have the Cypher query language, at least partly). For MongoDB we don't use a REST API but a "normal" Java API which then sends requests to the server in a binary format. I'm not sure whether these could be accessed and be made readable in a sensible way. So MongoDB might fall into the API category as well.

Would you expect the log method calls to the Infinispan Cache with the provided parameters?

It's a good question. It's not perfect but it's the best I can see atm. Same for Neo4j btw. when we don't use Cypher but programmatic calls on the Node API. Or do you have any other idea, ?

Hardy FerentschikMarch 9, 2015 at 10:20 PM

So one would have one OGM specific logging category (similar to org.hibernate.SQL in ORM) which when set to the right level would log the data store interactions, right?

I guess in the case where there is a "simple" wire protocol (for example the Mongo REST API) you would probably like to log the JSON request, right? More problematic would be pure programmatic APIs. I guess Infinispan would fall into that. Would you expect the log method calls to the Infinispan Cache with the provided parameters?

Details

Assignee

Reporter

Labels

Participants

Emmanuel Bernard
Gunnar Morling
Hardy Ferentschik

Components

Priority

Created January 28, 2015 at 11:03 AM
Updated July 10, 2015 at 1:54 PM

Flag notifications