サーバー アプリケーションで、サイズ 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;
}