From e3d93b16946fc812be25bfbab270a54f0ddfa5ac Mon Sep 17 00:00:00 2001 From: Jerome Villiseck Date: Mon, 13 Nov 2023 16:15:59 +0100 Subject: [PATCH] Utilisation @Slf4j et passage en dev du niveau de logging a trace + ajout sur sudoc controller d'un calcul de temps --- .../component/BaseXmlFunctionsCaller.java | 20 +++++++++++-------- .../kbartws/utils/ExecutionTimeAspect.java | 1 + .../main/resources/application-dev.properties | 4 ++-- .../sudocws/controller/SudocController.java | 14 ++++++++++++- .../main/resources/application-dev.properties | 2 +- 5 files changed, 29 insertions(+), 12 deletions(-) diff --git a/kbart-webservices/src/main/java/fr/abes/convergence/kbartws/component/BaseXmlFunctionsCaller.java b/kbart-webservices/src/main/java/fr/abes/convergence/kbartws/component/BaseXmlFunctionsCaller.java index 6700e76..f6041d0 100644 --- a/kbart-webservices/src/main/java/fr/abes/convergence/kbartws/component/BaseXmlFunctionsCaller.java +++ b/kbart-webservices/src/main/java/fr/abes/convergence/kbartws/component/BaseXmlFunctionsCaller.java @@ -1,15 +1,16 @@ package fr.abes.convergence.kbartws.component; -import fr.abes.convergence.kbartws.utils.ExecutionTime; +import lombok.extern.slf4j.Slf4j; import org.hibernate.annotations.ColumnTransformer; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.jpa.repository.query.EscapeCharacter; import org.springframework.jdbc.UncategorizedSQLException; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Component; import java.sql.SQLRecoverableException; +import java.text.DecimalFormat; +@Slf4j @Component public class BaseXmlFunctionsCaller { @Autowired @@ -25,7 +26,8 @@ public String issnToPpn(String issn) throws SQLRecoverableException, Uncategoriz long endTime = System.nanoTime(); // Temps d'exécution en secondes double duration = (endTime - startTime) / 1_000_000_000.0; - System.out.println("Temps d'exécution : ISSN2PPNJSON(" + issn + ")" + duration + " secondes"); + DecimalFormat df = new DecimalFormat("#.##"); + log.trace("Temps d'exécution : ISSN2PPNJSON(" + issn + ")" + Double.valueOf(df.format(duration)) + " secondes"); return result; } @@ -39,7 +41,8 @@ public String isbnToPpn(String isbn) throws SQLRecoverableException, Uncategoriz long endTime = System.nanoTime(); // Temps d'exécution en secondes double duration = (endTime - startTime) / 1_000_000_000.0; - System.out.println("Temps d'exécution : ISSN2PPNJSON(" + isbn + ")" + duration + " secondes"); + DecimalFormat df = new DecimalFormat("#.##"); + log.trace("Temps d'exécution : ISSN2PPNJSON(" + isbn + ")" + Double.valueOf(df.format(duration)) + " secondes"); return result; } @@ -53,7 +56,8 @@ public String baconProvider035(Integer provider) throws SQLRecoverableException, long endTime = System.nanoTime(); // Temps d'exécution en secondes double duration = (endTime - startTime) / 1_000_000_000.0; - System.out.println("Temps d'exécution : BACON_PROVIDER_035_JSON(" + provider + ")" + duration + " secondes"); + DecimalFormat df = new DecimalFormat("#.##"); + log.trace("Temps d'exécution : BACON_PROVIDER_035_JSON(" + provider + ")" + Double.valueOf(df.format(duration)) + " secondes"); return result; } @@ -67,8 +71,8 @@ public String doiToPpn(String doi) throws SQLRecoverableException, Uncategorized long endTime = System.nanoTime(); // Temps d'exécution en secondes double duration = (endTime - startTime) / 1_000_000_000.0; - System.out.println("Temps d'exécution : DOI2PNN(" + doi + ")" + duration + " secondes"); + DecimalFormat df = new DecimalFormat("#.##"); + log.trace("Temps d'exécution : DOI2PNN(" + doi + ")" + Double.valueOf(df.format(duration)) + " secondes"); return result; } -} - +} \ No newline at end of file diff --git a/kbart-webservices/src/main/java/fr/abes/convergence/kbartws/utils/ExecutionTimeAspect.java b/kbart-webservices/src/main/java/fr/abes/convergence/kbartws/utils/ExecutionTimeAspect.java index 64e283e..0871a49 100644 --- a/kbart-webservices/src/main/java/fr/abes/convergence/kbartws/utils/ExecutionTimeAspect.java +++ b/kbart-webservices/src/main/java/fr/abes/convergence/kbartws/utils/ExecutionTimeAspect.java @@ -5,6 +5,7 @@ import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; +//TODO actuellement ne fonctionne pas sur sudoc-api, supprimer cette classe et la classe ExecutionTime le cas échéant @Aspect @Slf4j public class ExecutionTimeAspect { diff --git a/kbart-webservices/src/main/resources/application-dev.properties b/kbart-webservices/src/main/resources/application-dev.properties index ee5e357..66981e4 100644 --- a/kbart-webservices/src/main/resources/application-dev.properties +++ b/kbart-webservices/src/main/resources/application-dev.properties @@ -4,7 +4,7 @@ spring.datasource.basexml.password= spring.datasource.basexml.driver-class-name=oracle.jdbc.OracleDriver spring.jpa.basexml.generate-ddl=false -spring.jpa.basexml.show-sql=true +spring.jpa.basexml.show-sql=false spring.jpa.basexml.properties.hibernate.dialect=org.hibernate.dialect.OracleDialect spring.jpa.basexml.hibernate.ddl-auto=none spring.jpa.basexml.database-platform=org.hibernate.dialect.OracleDialect @@ -13,4 +13,4 @@ spring.sql.basexml.init.mode=never url.provider_list=https://www-test.sudoc.fr/services/generic/?servicekey=bacon_provider&format=text/json logging.level.root=INFO -logging.level.fr.abes.convergence.kbartws=DEBUG \ No newline at end of file +logging.level.fr.abes.convergence.kbartws=trace \ No newline at end of file diff --git a/sudoc-webservices/src/main/java/fr/abes/convergence/sudocws/controller/SudocController.java b/sudoc-webservices/src/main/java/fr/abes/convergence/sudocws/controller/SudocController.java index 25111da..d64fbaf 100644 --- a/sudoc-webservices/src/main/java/fr/abes/convergence/sudocws/controller/SudocController.java +++ b/sudoc-webservices/src/main/java/fr/abes/convergence/sudocws/controller/SudocController.java @@ -4,6 +4,7 @@ import fr.abes.convergence.sudocws.dto.ResultWebDto; import fr.abes.convergence.sudocws.dto.SearchDatWebDto; import fr.abes.convergence.sudocws.service.SudocService; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.PostMapping; @@ -12,8 +13,9 @@ import org.springframework.web.bind.annotation.RestController; import javax.validation.Valid; +import java.text.DecimalFormat; - +@Slf4j @RestController @RequestMapping("/api/v1") public class SudocController { @@ -25,11 +27,21 @@ public ResultWebDto datToPpn(@Valid @RequestBody SearchDatWebDto request) { throw new IllegalArgumentException("Le titre ne peut pas être null"); } ResultWebDto result = new ResultWebDto(); + + long startTime = System.nanoTime(); + try { result.addPpns(service.getPpnFromDat(request.getDate(), request.getAuteur(), request.getTitre())); } catch (CBSException ex) { result.addErreur(ex.getMessage()); } + + long endTime = System.nanoTime(); + // Temps d'exécution en secondes + double duration = (endTime - startTime) / 1_000_000_000.0; + DecimalFormat df = new DecimalFormat("#.##"); + log.trace("Temps d'exécution : dat2ppn(" + request.getDate() + request.getAuteur() + request.getTitre() + ")" + Double.valueOf(df.format(duration)) + " secondes"); + return result; } } diff --git a/sudoc-webservices/src/main/resources/application-dev.properties b/sudoc-webservices/src/main/resources/application-dev.properties index 8786918..e8b1ae0 100644 --- a/sudoc-webservices/src/main/resources/application-dev.properties +++ b/sudoc-webservices/src/main/resources/application-dev.properties @@ -5,4 +5,4 @@ sudoc.login= sudoc.passwd= logging.level.root=INFO -logging.level.fr.abes.convergence.sudocws=DEBUG \ No newline at end of file +logging.level.fr.abes.convergence.sudocws=trace \ No newline at end of file