From: sourabh_sourabh Date: Tue, 1 Feb 2022 09:26:02 +0000 (+0530) Subject: Document Logging Guidelines X-Git-Tag: 3.0.0~28 X-Git-Url: https://gerrit.onap.org/r/gitweb?p=cps.git;a=commitdiff_plain;h=8cbd81accc20e0642de04694e12aadb19a82e900 Document Logging Guidelines Issue-ID: CPS-604 Signed-off-by: sourabh_sourabh Change-Id: I7bf1cf8b57595e6fe9def00777c294bb90c5dc11 --- diff --git a/docs/admin-guide.rst b/docs/admin-guide.rst index 7689ee5b6..203151bf8 100644 --- a/docs/admin-guide.rst +++ b/docs/admin-guide.rst @@ -12,6 +12,123 @@ CPS Admin Guide .. toctree:: :maxdepth: 1 +Logging Configuration +===================== + +.. note:: + Default logging level of "logging.level.org.onap.cps" is set to "INFO". + +.. code-block:: bash + + logging: + level: + org: + springframework: INFO + onap: + cps: INFO + +CPS Log pattern +--------------- + +.. code-block:: java + + + { + "timestamp" : "%timestamp", // 2022-01-28 18:39:17.768 + "severity": "%level", // DEBUG + "service": "${springAppName}", // cps-application + "trace": "${TraceId}", // e17da1571e518c59 + "span": "${SpanId}", // e17da1571e518c59 + "pid": "${PID}", //11128 + "thread": "%thread", //tp1901272535-29 + "class": "%logger{40}", .// o.onap.cps.aop.CpsLoggingAspectService + "rest": "%message" // Execution time ... + } + + +Change logging level +-------------------- + +.. container:: ulist + +- Curl command 1. Check current log level of "logging.level.org.onap.cps" if it is set to it's default value (INFO) + +.. code-block:: java + + curl --location --request GET 'http://{cps-service-name:cps-management-port}/manage/loggers/org.onap.cps' \ + --header 'Content-Type: application/json; charset=utf-8' + + Response body : HTTP Status 200 + + { + "configuredLevel": "INFO", + "effectiveLevel": "INFO" + } + +- Curl command 2. Change logging level of "logging.level.org.onap.cps" to "DEBUG" + +.. note:: + Below-mentioned endpoint will change the log level at runtime. After executing the curl command "effectiveLevel" will set and applied immediately without restarting CPS service. + +.. code-block:: java + + curl --location --request POST 'http://{cps-service-name:cps-management-port}/manage/loggers/org.onap.cps' \ + --header 'Content-Type: application/json; charset=utf-8' \ + --data-raw '{ + "configuredLevel": "DEBUG" + }' + + Response body : HTTP Status 204 + +- Curl command 3. Verify if log level of "logging.level.org.onap.cps" is changed from 'INFO' to 'DEBUG' + +.. code-block:: java + + curl --location --request GET 'http://{cps-service-name:cps-management-port}/manage/loggers/org.onap.cps' \ + --header 'Content-Type: application/json; charset=utf-8' + + Response body : HTTP Status 200 + + { + "configuredLevel": "DEBUG", + "effectiveLevel": "DEBUG" + } + +Location of log files +--------------------- +By default, Spring Boot will only log to the console and will not write log files. + +.. image:: images/cps-service-console.JPG + :width: 700 + :alt: CPS service console + +Measure Execution Time of CPS Service +------------------------------------- + +.. note:: + Make sure effective log level of "logging.level.org.onap.cps" is 'DEBUG'. This can be verified by executing curl command 3. + +Execute CPS service that you want to calculate total elapsed time and log as shown below + +.. code-block:: xml + + 2022-01-28 18:39:17.679 DEBUG [cps-application,e17da1571e518c59,e17da1571e518c59] 11128 --- [tp1901272535-29] o.onap.cps.aop.CpsLoggingAspectService : Execution time of : DataspaceRepository.getByName() with argument[s] = [test42] having result = org.onap.cps.spi.entities.DataspaceEntity@68ded236 :: 205 ms + + 2022-01-28 18:39:17.726 DEBUG [cps-application,e17da1571e518c59,e17da1571e518c59] 11128 --- [tp1901272535-29] o.onap.cps.aop.CpsLoggingAspectService : Execution time of : AnchorRepository.getByDataspaceAndName() with argument[s] = [org.onap.cps.spi.entities.DataspaceEntity@68ded236, bookstore] having result = org.onap.cps.spi.entities.AnchorEntity@71c47fb1 :: 46 ms + + 2022-01-28 18:39:17.768 DEBUG [cps-application,e17da1571e518c59,e17da1571e518c59] 11128 --- [tp1901272535-29] o.onap.cps.aop.CpsLoggingAspectService : Execution time of : CpsAdminPersistenceServiceImpl.getAnchor() with argument[s] = [test42, bookstore] having result = Anchor(name=bookstore, dataspaceName=test42, schemaSetName=bookstore) :: 299 ms + + 2022-01-28 18:39:17.768 DEBUG [cps-application,e17da1571e518c59,e17da1571e518c59] 11128 --- [tp1901272535-29] o.onap.cps.aop.CpsLoggingAspectService : Execution time of : CpsAdminServiceImpl.getAnchor() with argument[s] = [test42, bookstore] having result = Anchor(name=bookstore, dataspaceName=test42, schemaSetName=bookstore) :: 305 ms + + 2022-01-28 18:39:17.843 DEBUG [cps-application,e17da1571e518c59,e17da1571e518c59] 11128 --- [tp1901272535-29] o.onap.cps.aop.CpsLoggingAspectService : Execution time of : AdminRestController.getAnchor() with argument[s] = [test42, bookstore] having result = <200 OK OK,class AnchorDetails { + name: bookstore + dataspaceName: test42 + schemaSetName: bookstore + },[]> :: 419 ms + +.. warning:: + Revert logging level of "logging.level.org.onap.cps" to 'INFO' again to prevent unnecessary logging and impacts on performance. + .. Below Label is used by documentation for other CPS components to link here, do not remove even if it gives a warning .. _cps_common_logging: diff --git a/docs/images/cps-service-console.JPG b/docs/images/cps-service-console.JPG new file mode 100644 index 000000000..964e5b67b Binary files /dev/null and b/docs/images/cps-service-console.JPG differ