As computer systems become more complicated, monitoring dataflows in a system becomes important for maintaining its performance. However, because conventional methods of dataflow monitoring are either too fine-grained or too coarse-grained, it is difficult to analyze application-specific performance metrics. In this paper, we propose a dataflow logger with suitable granularity for performance analysis. Our logger is implemented as a Java library, which tracks two types of dataflows: dataflows between objects inside a Java program, and dataflows between a Java object and a row and column in a relational database. That way, our logger can produce dataflow logs with rich semantics about the application's data model. We conduct an experiment with an example system and demonstrate that we can obtain dataflow logs useful for performance analysis. We also conduct detailed overhead analysis of our logger. Although our logger slows down the example system 13 times, we figure out major sources of the overhead. We argue possible solutions to the overhead.