summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Glazunov <vg@openoffice.org>2009-11-02 11:26:18 +0100
committerVladimir Glazunov <vg@openoffice.org>2009-11-02 11:26:18 +0100
commite76dcc39bd144789124272efc41d4823a672e284 (patch)
tree7c9c4c19855683bffd61d4903170e94c678b75a0
parenta1b78c3bb9e0f0a36bdb4554c806b40d8fe201a0 (diff)
parent0c9f311b9ea1b74dceee3f2806527cad1e9ba999 (diff)
CWS-TOOLING: integrate CWS oooimprovement5_DEV300
Notes
split repo tag: components_ooo/DEV300_m64
-rw-r--r--extensions/source/logging/filehandler.cxx11
-rw-r--r--extensions/source/logging/logger.cxx2
2 files changed, 12 insertions, 1 deletions
diff --git a/extensions/source/logging/filehandler.cxx b/extensions/source/logging/filehandler.cxx
index 97d6d7524290..e04ea8faf0be 100644
--- a/extensions/source/logging/filehandler.cxx
+++ b/extensions/source/logging/filehandler.cxx
@@ -328,7 +328,16 @@ namespace logging
void SAL_CALL FileHandler::flush( ) throw (RuntimeException)
{
MethodGuard aGuard( *this );
- // nothing to do, our ::osl::File implementation is not buffered
+ if(!m_pFile.get())
+ {
+ OSL_PRECOND(false, "FileHandler::flush: no file!");
+ return;
+ }
+ #if OSL_DEBUG_LEVEL > 0
+ ::osl::FileBase::RC res =
+ #endif
+ m_pFile->sync();
+ OSL_ENSURE(res == ::osl::FileBase::E_None, "FileHandler::flush: Could not sync logfile to filesystem.");
}
//--------------------------------------------------------------------
diff --git a/extensions/source/logging/logger.cxx b/extensions/source/logging/logger.cxx
index 69ae5fced483..66e0eb540ef0 100644
--- a/extensions/source/logging/logger.cxx
+++ b/extensions/source/logging/logger.cxx
@@ -230,6 +230,8 @@ namespace logging
m_aHandlers.forEach< XLogHandler >(
::boost::bind( &XLogHandler::publish, _1, ::boost::cref( _rRecord ) ) );
+ m_aHandlers.forEach< XLogHandler >(
+ ::boost::bind( &XLogHandler::flush, _1 ) );
}
//--------------------------------------------------------------------