Question :
How to dump data (byte-stream) written from an application to the filesystem ? (something like tcpdump but for IO/file).
Ideally it should be able to "attach" and dump the stream while it is beeing written, without specific configuration of the application.
Context :
I have a Java application that is deployed on some servers. This app is using JCL+Log4j to log all sort of tech stuff.
On a few of them I'm experiencing a rather ... uncommon problem : frequently, log files are polluted by binary data.
Same app, same config, same hardware, same OS ... different behaviour
My logs are all here : if I process the log file with "strings" every thing is back to normal but as I have, let say 90% of binary rubbish, preprocessing the files takes a huge amount of time.
Goal :
Beeing able to figure out if the problem is inside the java app/JVM or in the OS/Hardware
Use strace, like:
it will dump the processe's write system calls. With maximum 1024 string size.