add logreader function