Dev Tools and Debugging
ObjectBox has tools that help during development. Learn more about looking at data inside the database and how to enable debug logs for additional information.
Last updated
Was this helpful?
ObjectBox has tools that help during development. Learn more about looking at data inside the database and how to enable debug logs for additional information.
Last updated
Was this helpful?
is a web-app that can be used to view inside the ObjectBox database. Since it is available as a Docker container with a developer-friendly front-end script you can use it right from a developer console to get insights into your database.
Example: Using just "docker" to run ObjectBox Admin on a database on path ./myapp
:
$ docker run --rm -it --volume ./myapp:/db -u $(id -u) -p 8081:8081 objectboxio/admin:latest
Starting server on http://0.0.0.0:8081
001-10:37:02.7767 [INFO ] [SvHttp] Running in single-store mode, store path: /db
001-10:37:02.7767 [INFO ] [SvHttp] Listening on http://0.0.0.0:8081
001-10:37:02.7767 [INFO ] [SvHttp] User management: enabled
001-10:37:02.7771 [INFO ] [SvHttp] HttpServer listening on all interfaces, port 8081
Opening the URL http://localhost:8081
with your browser will open the ObjectBox Admin UI:
ObjectBox includes a logging facility for tracing, amongst others, transaction operations. The following C++ code below gives an example how to enable logging for transactions at the info level.
obx::Options options(create_obx_model());
options.addDebugFlags(
OBXDebugFlags_LOG_TRANSACTIONS_READ
| OBXDebugFlags_LOG_TRANSACTIONS_WRITE
);
obx::Store store(options);
A sample output of the debug log is given below:
$ ./build/myapp
[..]
001-10:23:41.6403 [INFO ] TX #4 (read)
001-10:23:41.6403 [INFO ] TX #4 to be destroyed on owner thread (last committed: TX #2)...
001-10:23:41.6403 [INFO ] TX #4 destroyed
001-10:23:41.6403 [INFO ] TX #5 (write)
001-10:23:41.6403 [INFO ] TX #5 committing...
001-10:23:41.6546 [INFO ] TX #5 to be destroyed on owner thread (last committed: TX #5)...
001-10:23:41.6546 [INFO ] TX #5 destroyed
[..]
ObjectBox also offers a DebugLog which gives insights at a very detail level. This is typically not used by an application end-user but might be helpful when things go wrong or when developing improvements, enhancements and features. This feature is not available in the public release but on request.
See Documentation for further details and to download developer-friendly front-end launcher shell script.
See for a list of available debug flags.