diff --git a/doc/contributions.txt b/doc/contributions.txt index 1a3fc680bc83b7ee0e8fbb05037f1a814044b03f..5eea015ae4576a7c5317062131a9de7b81fee9eb 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -603,6 +603,7 @@ Jonathan Yap STORM-653 STORM-1737 STORM-1733 + STORM-1790 Kadah Coba STORM-1060 Jondan Lundquist @@ -1254,6 +1255,7 @@ Zi Ree VWR-1140 VWR-24017 VWR-25588 + STORM-1790 Zipherius Turas VWR-76 VWR-77 diff --git a/indra/llcommon/llerror.cpp b/indra/llcommon/llerror.cpp index c35799bbb91761845f1ca616a1c3e87ffefdc7a6..e4381dbbd64de5372d288cff8114a928b5349747 100644 --- a/indra/llcommon/llerror.cpp +++ b/indra/llcommon/llerror.cpp @@ -617,6 +617,12 @@ namespace LLError s.defaultLevel = level; } + ELevel getDefaultLevel() + { + Settings& s = Settings::get(); + return s.defaultLevel; + } + void setFunctionLevel(const std::string& function_name, ELevel level) { Globals& g = Globals::get(); diff --git a/indra/llcommon/llerrorcontrol.h b/indra/llcommon/llerrorcontrol.h index fb75d45e2c98779b93506e4eb8d01f18e3f948c3..ed9de002f5662418b62346bf321e52f454725b79 100644 --- a/indra/llcommon/llerrorcontrol.h +++ b/indra/llcommon/llerrorcontrol.h @@ -75,6 +75,7 @@ namespace LLError LL_COMMON_API void setPrintLocation(bool); LL_COMMON_API void setDefaultLevel(LLError::ELevel); + LL_COMMON_API ELevel getDefaultLevel(); LL_COMMON_API void setFunctionLevel(const std::string& function_name, LLError::ELevel); LL_COMMON_API void setClassLevel(const std::string& class_name, LLError::ELevel); LL_COMMON_API void setFileLevel(const std::string& file_name, LLError::ELevel); diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 3a1b8d7623dda81af12100d35d6f7b5fdf4d463b..0104d35e53a96d4d10860ac7a4e40bd6bdd20215 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -2203,6 +2203,30 @@ class LLAdvancedEnableToggleHackedGodmode : public view_listener_t //// Advanced menu ////------------------------------------------------------------------- + +////////////////// +// DEVELOP MENU // +////////////////// + +class LLDevelopCheckLoggingLevel : public view_listener_t +{ + bool handleEvent(const LLSD& userdata) + { + U32 level = userdata.asInteger(); + return (static_cast<LLError::ELevel>(level) == LLError::getDefaultLevel()); + } +}; + +class LLDevelopSetLoggingLevel : public view_listener_t +{ + bool handleEvent(const LLSD& userdata) + { + U32 level = userdata.asInteger(); + LLError::setDefaultLevel(static_cast<LLError::ELevel>(level)); + return true; + } +}; + ////////////////// // ADMIN MENU // ////////////////// @@ -8195,6 +8219,9 @@ void initialize_menus() view_listener_t::addMenu(new LLAdvancedRequestAdminStatus(), "Advanced.RequestAdminStatus"); view_listener_t::addMenu(new LLAdvancedLeaveAdminStatus(), "Advanced.LeaveAdminStatus"); + // Develop >Set logging level + view_listener_t::addMenu(new LLDevelopCheckLoggingLevel(), "Develop.CheckLoggingLevel"); + view_listener_t::addMenu(new LLDevelopSetLoggingLevel(), "Develop.SetLoggingLevel"); // Admin >Object view_listener_t::addMenu(new LLAdminForceTakeCopy(), "Admin.ForceTakeCopy"); diff --git a/indra/newview/skins/default/xui/en/menu_login.xml b/indra/newview/skins/default/xui/en/menu_login.xml index 8ac1ac9e093fec25f7f4309cd08fcd4d143f7849..101e104eabfd499389bd5149f71dea1badf0d30c 100644 --- a/indra/newview/skins/default/xui/en/menu_login.xml +++ b/indra/newview/skins/default/xui/en/menu_login.xml @@ -174,7 +174,58 @@ function="Advanced.WebContentTest" parameter="http://google.com"/> </menu_item_call> - <menu_item_check + <menu + create_jump_keys="true" + label="Set Logging Level" + name="Set Logging Level" + tear_off="true"> + <menu_item_check + label="Debug"> + <menu_item_check.on_check + function="Develop.CheckLoggingLevel" + parameter="0" /> + <menu_item_check.on_click + function="Develop.SetLoggingLevel" + parameter="0" /> + </menu_item_check> + <menu_item_check + label="Info"> + <menu_item_check.on_check + function="Develop.CheckLoggingLevel" + parameter="1" /> + <menu_item_check.on_click + function="Develop.SetLoggingLevel" + parameter="1" /> + </menu_item_check> + <menu_item_check + label="Warning"> + <menu_item_check.on_check + function="Develop.CheckLoggingLevel" + parameter="2" /> + <menu_item_check.on_click + function="Develop.SetLoggingLevel" + parameter="2" /> + </menu_item_check> + <menu_item_check + label="Error"> + <menu_item_check.on_check + function="Develop.CheckLoggingLevel" + parameter="3" /> + <menu_item_check.on_click + function="Develop.SetLoggingLevel" + parameter="3" /> + </menu_item_check> + <menu_item_check + label="None"> + <menu_item_check.on_check + function="Develop.CheckLoggingLevel" + parameter="4" /> + <menu_item_check.on_click + function="Develop.SetLoggingLevel" + parameter="4" /> + </menu_item_check> + </menu> + <menu_item_check label="Show Grid Picker" name="Show Grid Picker" visible="false" diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 0aa5c72f2a5dc35eef3be0ad18460a2803ed8955..0df123e14073b9b25a1e1c753d6a71e4b511a554 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -3367,6 +3367,57 @@ function="ToggleControl" parameter="ShowConsoleWindow" /> </menu_item_check> + <menu + create_jump_keys="true" + label="Set Logging Level" + name="Set Logging Level" + tear_off="true"> + <menu_item_check + label="Debug"> + <menu_item_check.on_check + function="Develop.CheckLoggingLevel" + parameter="0" /> + <menu_item_check.on_click + function="Develop.SetLoggingLevel" + parameter="0" /> + </menu_item_check> + <menu_item_check + label="Info"> + <menu_item_check.on_check + function="Develop.CheckLoggingLevel" + parameter="1" /> + <menu_item_check.on_click + function="Develop.SetLoggingLevel" + parameter="1" /> + </menu_item_check> + <menu_item_check + label="Warning"> + <menu_item_check.on_check + function="Develop.CheckLoggingLevel" + parameter="2" /> + <menu_item_check.on_click + function="Develop.SetLoggingLevel" + parameter="2" /> + </menu_item_check> + <menu_item_check + label="Error"> + <menu_item_check.on_check + function="Develop.CheckLoggingLevel" + parameter="3" /> + <menu_item_check.on_click + function="Develop.SetLoggingLevel" + parameter="3" /> + </menu_item_check> + <menu_item_check + label="None"> + <menu_item_check.on_check + function="Develop.CheckLoggingLevel" + parameter="4" /> + <menu_item_check.on_click + function="Develop.SetLoggingLevel" + parameter="4" /> + </menu_item_check> + </menu> <menu_item_separator/>