From 221a1f9ceffbbbb53454c59f10c781e584cfc3a1 Mon Sep 17 00:00:00 2001 From: vsr Date: Fri, 27 May 2022 12:51:41 +0300 Subject: [PATCH 1/2] [bos #29467] [EDF] (2022-T1) Logging of SALOME usage: specific log in SALOME --- src/GEOMBase/GEOMBase_Helper.cxx | 1 + src/GEOMGUI/GeometryGUI.cxx | 2 ++ 2 files changed, 3 insertions(+) diff --git a/src/GEOMBase/GEOMBase_Helper.cxx b/src/GEOMBase/GEOMBase_Helper.cxx index a304693fb..a9f97d7ea 100644 --- a/src/GEOMBase/GEOMBase_Helper.cxx +++ b/src/GEOMBase/GEOMBase_Helper.cxx @@ -943,6 +943,7 @@ bool GEOMBase_Helper::onAccept( const bool publish, const bool useTransaction, b } if ( nbObjs ) { + SalomeApp_Application::logUserEvent( QString( "Geometry") + ": " + QObject::tr( "OPERATION_APPLIED" ) ); commitCommand(); updateObjBrowser(); if( SUIT_Application* anApp = SUIT_Session::session()->activeApplication() ) { diff --git a/src/GEOMGUI/GeometryGUI.cxx b/src/GEOMGUI/GeometryGUI.cxx index ccff718fe..bb667ddd1 100644 --- a/src/GEOMGUI/GeometryGUI.cxx +++ b/src/GEOMGUI/GeometryGUI.cxx @@ -980,6 +980,8 @@ void GeometryGUI::initialize( CAM_Application* app ) { SalomeApp_Module::initialize( app ); + setActionLoggingEnabled( true ); // enable action logging + // ----- create actions -------------- createGeomAction( GEOMOp::OpDelete, "DELETE", "", Qt::Key_Delete ); From efb533a09c6c5f38d840c71cb4e73355d13af530 Mon Sep 17 00:00:00 2001 From: Pascal Obry Date: Mon, 15 May 2023 10:25:38 +0200 Subject: [PATCH 2/2] Use logStructuredUserEvent() for log message format consistency. Also clean-up the operation name to keep only the meaningful part. --- src/GEOMBase/GEOMBase_Helper.cxx | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/GEOMBase/GEOMBase_Helper.cxx b/src/GEOMBase/GEOMBase_Helper.cxx index a9f97d7ea..d7fa50169 100644 --- a/src/GEOMBase/GEOMBase_Helper.cxx +++ b/src/GEOMBase/GEOMBase_Helper.cxx @@ -24,6 +24,8 @@ // File : GEOMBase_Helper.cxx // Author : Sergey ANIKIN, Open CASCADE S.A.S. (sergey.anikin@opencascade.com) +#include + #include "GEOMBase_Helper.h" #include "GEOMBase.h" #include "GEOM_Operation.h" @@ -943,13 +945,20 @@ bool GEOMBase_Helper::onAccept( const bool publish, const bool useTransaction, b } if ( nbObjs ) { - SalomeApp_Application::logUserEvent( QString( "Geometry") + ": " + QObject::tr( "OPERATION_APPLIED" ) ); + const QString anOpName( typeid(*this).name() ); + // The operator name may have the following format: 24PrimitiveGUI_CylinderDlg + // clean it up to get the simple operator (here Cylinder) name into the log. + const QRegExp rx("^[^\w]*_(.*)Dlg$"); + const int pos = rx.indexIn(anOpName); + SalomeApp_Application::logStructuredUserEvent( "Geom", + "geometry", + pos == -1 ? anOpName : rx.cap(1), + "applied" ); commitCommand(); updateObjBrowser(); if( SUIT_Application* anApp = SUIT_Session::session()->activeApplication() ) { LightApp_Application* aLightApp = dynamic_cast( anApp ); if(aLightApp) { - QString anOpName( typeid(*this).name() ); aLightApp->emitOperationFinished( "Geometry", anOpName, anEntryList ); if ( !isDisableBrowsing() )