diff options
author | Alasdair Campbell <alcoheca@gmail.com> | 2014-04-30 00:46:41 +0100 |
---|---|---|
committer | montellese <montellese@xbmc.org> | 2014-05-14 19:17:50 +0200 |
commit | 570343d7aa2fe0c83bbe578e0c088d9cdb914650 (patch) | |
tree | 009656c17709d78ef943f4466e94920b2c09f7de | |
parent | cff55a425ad8a610c3781b66ba75a0102d014fe4 (diff) |
upnp: add functionality to get Platinum log messages
-rwxr-xr-x | language/English/strings.po | 7 | ||||
-rw-r--r-- | xbmc/commons/ilog.h | 1 | ||||
-rw-r--r-- | xbmc/network/upnp/UPnP.cpp | 17 | ||||
-rw-r--r-- | xbmc/network/upnp/UPnP.h | 2 | ||||
-rw-r--r-- | xbmc/network/upnp/UPnPRenderer.cpp | 2 | ||||
-rw-r--r-- | xbmc/network/upnp/UPnPServer.cpp | 2 | ||||
-rw-r--r-- | xbmc/settings/AdvancedSettings.cpp | 3 |
7 files changed, 31 insertions, 3 deletions
diff --git a/language/English/strings.po b/language/English/strings.po index 4835ff0538..395f6f4a75 100755 --- a/language/English/strings.po +++ b/language/English/strings.po @@ -2861,7 +2861,12 @@ msgctxt "#677" msgid "Verbose logging for AirTunes library" msgstr "" -#empty strings from id 678 to 699 +#: xbmc/settings/AdvancedSettings.cpp +msgctxt "#678" +msgid "Verbose logging for UPnP components" +msgstr "" + +#empty strings from id 679 to 699 msgctxt "#700" msgid "Cleaning up library" diff --git a/xbmc/commons/ilog.h b/xbmc/commons/ilog.h index 1b4ed1a2cc..03ccc7d897 100644 --- a/xbmc/commons/ilog.h +++ b/xbmc/commons/ilog.h @@ -51,6 +51,7 @@ #define LOGJSONRPC (1 << (LOGMASKBIT + 6)) #define LOGAUDIO (1 << (LOGMASKBIT + 7)) #define LOGAIRTUNES (1 << (LOGMASKBIT + 8)) +#define LOGUPNP (1 << (LOGMASKBIT + 9)) #ifdef __GNUC__ #define ATTRIB_LOG_FORMAT __attribute__((format(printf,3,4))) diff --git a/xbmc/network/upnp/UPnP.cpp b/xbmc/network/upnp/UPnP.cpp index 3331301a46..53f97e4e21 100644 --- a/xbmc/network/upnp/UPnP.cpp +++ b/xbmc/network/upnp/UPnP.cpp @@ -38,6 +38,7 @@ #include "utils/log.h" #include "URL.h" #include "profiles/ProfilesManager.h" +#include "settings/AdvancedSettings.h" #include "settings/Settings.h" #include "GUIUserMessages.h" #include "FileItem.h" @@ -98,9 +99,15 @@ DLNA_ORG_FLAGS_VAL = '01500000000000000000000000000000' | NPT_Console::Output +---------------------------------------------------------------------*/ void -NPT_Console::Output(const char* message) +NPT_Console::Output(const char* msg) { } + +void +UPnPLogger(const NPT_LogRecord* record) { - CLog::Log(LOGDEBUG, "%s", message); + if (!g_advancedSettings.CanLogComponent(LOGUPNP)) + return; + + CLog::Log((record->m_Level / 100) - 1, "Platinum [%s]: %s", record->m_LoggerName, record->m_Message); } namespace UPNP @@ -391,10 +398,15 @@ private: CUPnP::CUPnP() : m_MediaBrowser(NULL), m_MediaController(NULL), + m_LogHandler(NULL), m_ServerHolder(new CDeviceHostReferenceHolder()), m_RendererHolder(new CRendererReferenceHolder()), m_CtrlPointHolder(new CCtrlPointReferenceHolder()) { + NPT_LogManager::GetDefault().Configure("plist:.level=FINE;.handlers=CustomHandler;"); + NPT_LogHandler::Create("CustomHandler", "xbmc", m_LogHandler); + m_LogHandler->SetCustomHandlerFunction(&UPnPLogger); + // initialize upnp context m_UPnP = new PLT_UPnP(); @@ -423,6 +435,7 @@ CUPnP::~CUPnP() StopServer(); delete m_UPnP; + delete m_LogHandler; delete m_ServerHolder; delete m_RendererHolder; delete m_CtrlPointHolder; diff --git a/xbmc/network/upnp/UPnP.h b/xbmc/network/upnp/UPnP.h index 4a4fd5a213..96194e6ac8 100644 --- a/xbmc/network/upnp/UPnP.h +++ b/xbmc/network/upnp/UPnP.h @@ -25,6 +25,7 @@ #include "utils/StdString.h" +class NPT_LogHandler; class PLT_UPnP; class PLT_SyncMediaBrowser; class PLT_MediaController; @@ -89,6 +90,7 @@ public: private: CStdString m_IP; PLT_UPnP* m_UPnP; + NPT_LogHandler* m_LogHandler; CDeviceHostReferenceHolder* m_ServerHolder; CRendererReferenceHolder* m_RendererHolder; CCtrlPointReferenceHolder* m_CtrlPointHolder; diff --git a/xbmc/network/upnp/UPnPRenderer.cpp b/xbmc/network/upnp/UPnPRenderer.cpp index 1a1754a46b..e344491707 100644 --- a/xbmc/network/upnp/UPnPRenderer.cpp +++ b/xbmc/network/upnp/UPnPRenderer.cpp @@ -43,6 +43,8 @@ #include "playlists/PlayList.h" #include "GUIUserMessages.h" +NPT_SET_LOCAL_LOGGER("xbmc.upnp.renderer") + using namespace ANNOUNCEMENT; namespace UPNP diff --git a/xbmc/network/upnp/UPnPServer.cpp b/xbmc/network/upnp/UPnPServer.cpp index 06546b1d2e..6f3fc576aa 100644 --- a/xbmc/network/upnp/UPnPServer.cpp +++ b/xbmc/network/upnp/UPnPServer.cpp @@ -46,6 +46,8 @@ #include "xbmc/GUIUserMessages.h" #include "utils/FileUtils.h" +NPT_SET_LOCAL_LOGGER("xbmc.upnp.server") + using namespace std; using namespace ANNOUNCEMENT; using namespace XFILE; diff --git a/xbmc/settings/AdvancedSettings.cpp b/xbmc/settings/AdvancedSettings.cpp index 501e00a56c..342299c60d 100644 --- a/xbmc/settings/AdvancedSettings.cpp +++ b/xbmc/settings/AdvancedSettings.cpp @@ -1388,6 +1388,9 @@ void CAdvancedSettings::SettingOptionsLoggingComponentsFiller(const CSetting *se #ifdef HAS_AIRTUNES list.push_back(std::make_pair(g_localizeStrings.Get(677), LOGAIRTUNES)); #endif +#ifdef HAS_UPNP + list.push_back(std::make_pair(g_localizeStrings.Get(678), LOGUPNP)); +#endif } void CAdvancedSettings::setExtraLogLevel(const std::vector<CVariant> &components) |