sal/osl/all/log.cxx | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-)
New commits: commit d9add6fe073b6407d3d1f1c1dbb80efd9d718f98 Author: Thorsten Behrens <thorsten.behr...@cib.de> Date: Mon Jan 16 04:19:34 2017 +0100 sal: don't reopen logfile on every log line Change-Id: Iac34fc87a99e98ca5e41eb621d55bf356c371e97 diff --git a/sal/osl/all/log.cxx b/sal/osl/all/log.cxx index 326d44e..7dd3880 100644 --- a/sal/osl/all/log.cxx +++ b/sal/osl/all/log.cxx @@ -144,7 +144,7 @@ char const * getLogLevel() { return nullptr; } -char const * getLogFile() { +char const * getLogFilePath() { // First check the environment variable, then the setting in logging.ini static char const * logFile = getEnvironmentVariable_("SAL_LOG_FILE"); if (logFile != nullptr) @@ -158,13 +158,19 @@ char const * getLogFile() { return nullptr; } +std::ofstream * getLogFile() { + static std::ofstream file(getLogFilePath(), std::ios::app | std::ios::out); + + return &file; +} + #endif bool report(sal_detail_LogLevel level, char const * area) { if (level == SAL_DETAIL_LOG_LEVEL_DEBUG) return true; assert(area != 0); - char const * env = getLogLevel(); + static char const * env = getLogLevel(); if (env == 0) { env = "+WARN"; } @@ -295,10 +301,9 @@ void log( syslog(prio, "%s", s.str().c_str()); #endif } else { - const char* logFile = getLogFile(); + static std::ofstream * logFile = getLogFile(); if (logFile) { - std::ofstream file(logFile, std::ios::app | std::ios::out); - file << s.str(); + *logFile << s.str(); } else { std::fputs(s.str().c_str(), stderr); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits