logger: support file output