[SCM] kodi-pvr-hts/master: change some semantics and make the log message prefix configurable
tiber-guest at users.alioth.debian.org
tiber-guest at users.alioth.debian.org
Wed Mar 2 23:01:53 UTC 2016
The following commit has been merged in the master branch:
commit 289fb5241031a612afbf246ee5507d9f256b4ba5
Author: Sam Stenvall <sam.stenvall at nordsoftware.com>
Date: Sun Jan 3 19:07:41 2016 +0200
change some semantics and make the log message prefix configurable
diff --git a/src/client.cpp b/src/client.cpp
index 0fee62c..de66152 100644
--- a/src/client.cpp
+++ b/src/client.cpp
@@ -84,7 +84,7 @@ ADDON_STATUS ADDON_Create(void* hdl, void* _unused(props))
}
/* Configure the logger */
- Logger::SetImplementation([](LogLevel level, const char *message)
+ Logger::GetInstance().SetImplementation([](LogLevel level, const char *message)
{
/* Convert the log level */
addon_log_t addonLevel;
@@ -108,6 +108,8 @@ ADDON_STATUS ADDON_Create(void* hdl, void* _unused(props))
XBMC->Log(addonLevel, message);
});
+ Logger::GetInstance().SetPrefix("pvr.hts");
+
Logger::Log(LogLevel::INFO, "starting PVR client");
ADDON_ReadSettings();
diff --git a/src/tvheadend/utilities/Logger.h b/src/tvheadend/utilities/Logger.h
index 40f5f54..38dd6bb 100644
--- a/src/tvheadend/utilities/Logger.h
+++ b/src/tvheadend/utilities/Logger.h
@@ -42,7 +42,7 @@ namespace tvheadend
/**
* Short-hand for a function that acts as the logger implementation
*/
- typedef std::function<void(LogLevel level, const char *message)> LogImplementation;
+ typedef std::function<void(LogLevel level, const char *message)> LoggerImplementation;
/**
* The logger class. It is a singleton that by default comes with no
@@ -54,6 +54,16 @@ namespace tvheadend
public:
/**
+ * Returns the singleton instance
+ * @return
+ */
+ static Logger &GetInstance()
+ {
+ static Logger instance;
+ return instance;
+ }
+
+ /**
* Logs the specified message using the specified log level
* @param level the log level
* @param message the log message
@@ -61,24 +71,31 @@ namespace tvheadend
*/
static void Log(LogLevel level, const std::string &message, ...)
{
+ auto &logger = GetInstance();
+
char buffer[MESSAGE_BUFFER_SIZE];
- std::string logMessage = "pvr.hts - " + message;
+ std::string logMessage = message;
+ std::string prefix = logger.m_prefix;
+
+ // Prepend the prefix when set
+ if (!prefix.empty())
+ logMessage = prefix + " - " + message;
va_list arguments;
va_start(arguments, message);
vsprintf(buffer, logMessage.c_str(), arguments);
va_end(arguments);
- GetInstance().m_implementation(level, buffer);
+ logger.m_implementation(level, buffer);
}
/**
* Configures the logger to use the specified implementation
* @þaram implementation lambda
*/
- static void SetImplementation(LogImplementation implementation)
+ void SetImplementation(LoggerImplementation implementation)
{
- GetInstance().m_implementation = implementation;
+ m_implementation = implementation;
}
private:
@@ -88,18 +105,14 @@ namespace tvheadend
{ };
/**
- * @return the instance
+ * The logger implementation
*/
- static Logger &GetInstance()
- {
- static Logger instance;
- return instance;
- }
+ LoggerImplementation m_implementation;
/**
- * The logger implementation
+ * The log message prefix
*/
- LogImplementation m_implementation;
+ std::string m_prefix;
};
}
--
kodi-pvr-hts packaging
More information about the pkg-multimedia-commits
mailing list