#pragma once #include #include #include #include namespace fc { class file_appender : public appender { public: struct config { config( const fc::path& p = "log.txt" ); fc::string format; fc::path filename; bool flush = true; bool rotate = false; microseconds rotation_interval; microseconds rotation_limit; bool rotation_compression = false; uint32_t max_object_depth; }; file_appender( const variant& args ); ~file_appender(); virtual void log( const log_message& m )override; private: class impl; fc::shared_ptr my; }; } // namespace fc #include FC_REFLECT( fc::file_appender::config, (format)(filename)(flush)(rotate)(rotation_interval)(rotation_limit)(rotation_compression)(max_object_depth) )