diff --git a/src/controller/python/BUILD.gn b/src/controller/python/BUILD.gn index e14b7127dec68d..964a1c881efd3d 100644 --- a/src/controller/python/BUILD.gn +++ b/src/controller/python/BUILD.gn @@ -78,6 +78,7 @@ shared_library("ChipDeviceCtrl") { "chip/internal/ChipThreadWork.cpp", "chip/internal/ChipThreadWork.h", "chip/internal/CommissionerImpl.cpp", + "chip/logging/LoggingFilter.cpp", "chip/logging/LoggingRedirect.cpp", "chip/native/ChipMainLoopWork.h", "chip/native/PyChipError.cpp", diff --git a/src/controller/python/ChipDeviceController-ScriptBinding.cpp b/src/controller/python/ChipDeviceController-ScriptBinding.cpp index b8d95292770d71..fd7a69550caa54 100644 --- a/src/controller/python/ChipDeviceController-ScriptBinding.cpp +++ b/src/controller/python/ChipDeviceController-ScriptBinding.cpp @@ -71,7 +71,6 @@ #include #include #include -#include #include #include #include @@ -200,9 +199,6 @@ PyChipError pychip_ScriptDevicePairingDelegate_SetOpenWindowCompleteCallback( // BLE PyChipError pychip_DeviceCommissioner_CloseBleConnection(chip::Controller::DeviceCommissioner * devCtrl); -uint8_t pychip_DeviceController_GetLogFilter(); -void pychip_DeviceController_SetLogFilter(uint8_t category); - const char * pychip_Stack_ErrorToString(ChipError::StorageType err); const char * pychip_Stack_StatusReportToString(uint32_t profileId, uint16_t statusCode); void pychip_Stack_SetLogFunct(LogMessageFunct logFunct); @@ -353,22 +349,6 @@ const char * pychip_DeviceController_StatusReportToString(uint32_t profileId, ui return nullptr; } -uint8_t pychip_DeviceController_GetLogFilter() -{ -#if _CHIP_USE_LOGGING - return chip::Logging::GetLogFilter(); -#else - return chip::Logging::kLogCategory_None; -#endif -} - -void pychip_DeviceController_SetLogFilter(uint8_t category) -{ -#if _CHIP_USE_LOGGING - chip::Logging::SetLogFilter(category); -#endif -} - PyChipError pychip_DeviceController_ConnectBLE(chip::Controller::DeviceCommissioner * devCtrl, uint16_t discriminator, uint32_t setupPINCode, chip::NodeId nodeid) { diff --git a/src/controller/python/chip/ChipDeviceCtrl.py b/src/controller/python/chip/ChipDeviceCtrl.py index 402f2b7cea694d..07c0fdcbae1ee0 100644 --- a/src/controller/python/chip/ChipDeviceCtrl.py +++ b/src/controller/python/chip/ChipDeviceCtrl.py @@ -1476,23 +1476,6 @@ def ZCLAttributeList(self): return self._Cluster.ListClusterAttributes() - def SetLogFilter(self, category): - self.CheckIsActive() - - if category < 0 or category > pow(2, 8): - raise ValueError("category must be an unsigned 8-bit integer") - - self._ChipStack.Call( - lambda: self._dmLib.pychip_DeviceController_SetLogFilter(category) - ) - - def GetLogFilter(self): - self.CheckIsActive() - - self._ChipStack.Call( - lambda: self._dmLib.pychip_DeviceController_GetLogFilter() - ) - def SetBlockingCB(self, blockingCB): self.CheckIsActive() diff --git a/src/controller/python/chip/logging/LoggingFilter.cpp b/src/controller/python/chip/logging/LoggingFilter.cpp new file mode 100644 index 00000000000000..4da4dab1b1ef7f --- /dev/null +++ b/src/controller/python/chip/logging/LoggingFilter.cpp @@ -0,0 +1,38 @@ +/* + * + * Copyright (c) 2024 Project CHIP Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include + +extern "C" { + +uint8_t pychip_logging_GetLogFilter() +{ +#if _CHIP_USE_LOGGING + return chip::Logging::GetLogFilter(); +#else + return chip::Logging::kLogCategory_None; +#endif +} + +void pychip_logging_SetLogFilter(uint8_t category) +{ +#if _CHIP_USE_LOGGING + chip::Logging::SetLogFilter(category); +#endif +} + +} diff --git a/src/controller/python/chip/logging/__init__.py b/src/controller/python/chip/logging/__init__.py index 980c33ac92482d..2d292a44cb2be3 100644 --- a/src/controller/python/chip/logging/__init__.py +++ b/src/controller/python/chip/logging/__init__.py @@ -51,3 +51,16 @@ def RedirectToPythonLogging(): handle = _GetLoggingLibraryHandle() handle.pychip_logging_set_callback(_RedirectToPythonLogging) + + +def SetLogFilter(category): + if category < 0 or category > pow(2, 8): + raise ValueError("category must be an unsigned 8-bit integer") + + handle = _GetLoggingLibraryHandle() + handle.pychip_logging_SetLogFilter(category) + + +def GetLogFilter(): + handle = _GetLoggingLibraryHandle() + return handle.pychip_logging_GetLogFilter() diff --git a/src/platform/Linux/CHIPPlatformConfig.h b/src/platform/Linux/CHIPPlatformConfig.h index 788fe9b80c75d9..9e2832307f27b2 100644 --- a/src/platform/Linux/CHIPPlatformConfig.h +++ b/src/platform/Linux/CHIPPlatformConfig.h @@ -57,7 +57,7 @@ using CHIP_CONFIG_PERSISTED_STORAGE_KEY_TYPE = const char *; #endif // CHIP_CONFIG_MAX_EXCHANGE_CONTEXTS #ifndef CHIP_LOG_FILTERING -#define CHIP_LOG_FILTERING 0 +#define CHIP_LOG_FILTERING 1 #endif // CHIP_LOG_FILTERING #ifndef CHIP_CONFIG_BDX_MAX_NUM_TRANSFERS