Each record represents one transaction which was newly received by the node. I'll take apart one single line (which represents this transaction - so you can compare the values there). The Java code in iri that builds these tx messages is here.
tx - this is a transaction received
(This is specific to linux)
To dump all iri process threads, one can issue the following command:
jstack -l <pid of iri java process>
Search for the named thread of interest.
test@test:~$ pgrep -l java
test@test:~$ jstack -l 10783 > /tmp/thread_dump.log
test@test:~$ du -s /tmp/thread_dump.log
The method you mentioned converts each byte into 5 trits, so the output array needs to be 5 times the length of the input array.
Note that this function is not suitable for encoding any byte combinations, as bytes with value 243 to 255 will result in an error. It is only suitable for converting bytes back into trits, which have been converted from trits to ...
Ok, so after trying to reinvent a wheel for a while I actually discovered this class - https://github.com/iotaledger/iri/blob/dev/src/main/java/com/iota/iri/storage/rocksDB/RocksDBPersistenceProvider.java which provides an abstraction from underlying RocksDB and contains all the settings necessary to access the data in the proper way.
The IOTA Foundation is working hard in documenting all the aspects of IOTA by this days. You might want to wait a bit: new website coming soon and maybe the way documentation is handled will change. As of today I would say that the official doc is https://iota.readme.io/
The Java library is quite picky about length of fields you set. In particular, the address has to be 81 trytes and both tag and obsoleteTag need to have 27 trytes. If the lengths are different (or these fields are empty), you get weird signing errors.
Changing the address to "999999999999999999999999999999999999999999999999999999999999999999999999999999999" ...
If you want to run your own full node, you'll use iri (or Nelson, or both).