1

サーバー アプリケーションで、サイズ 5kb のログ ファイルを作成しています。ファイル サイズが 5 kb を超えると、古いコンテンツを新しいコンテンツで上書きする必要があります。何かアイデアがあれば、私と共有してください。

また、この手法をqtに実装する必要があります。

c++でいくつかの例を見つけましたが、慣れていないboostライブラリを使用して、qtでの実装を手伝ってくれませんか。

std::ostream & libLogging::FileRotationLogSink::GetCurrentStream( 
    std::string::size_type required )
{
    if ( static_cast<std::string::size_type>(m_CurrentStream.tellp( )) + 
        required > m_Limit ) {
        m_CurrentStream.close();
        // remove old backup
        if ( boost::filesystem::exists( m_BackupPath ) ) {
            boost::filesystem::remove( m_BackupPath );
        }
        // backup current logfile
        boost::filesystem::rename( m_LogFilePath, m_BackupPath );
        // open new logfile
        m_CurrentStream.open( m_LogFilePath );
    }
    return m_CurrentStream;
}
4

2 に答える 2