From 20ac36c9c9851fa84b75c5f535b425055ac9842d Mon Sep 17 00:00:00 2001 From: "Stefan E. Funk" <funk@sub.uni-goettingen.de> Date: Fri, 18 Jun 2021 10:53:10 +0200 Subject: [PATCH] Improve logging --- oaipmh-core/pom.xml | 58 ++++---- .../middleware/IdentifierListDelivererDC.java | 129 +++++++++--------- .../textgrid/middleware/SetDeliverer.java | 19 ++- 3 files changed, 110 insertions(+), 96 deletions(-) diff --git a/oaipmh-core/pom.xml b/oaipmh-core/pom.xml index 4bc0d0df..774aa24b 100644 --- a/oaipmh-core/pom.xml +++ b/oaipmh-core/pom.xml @@ -5,13 +5,13 @@ <parent> <artifactId>oaipmh</artifactId> <groupId>info.textgrid.middleware</groupId> - <version>3.3.3.1-ES6-SNAPSHOT</version> + <version>3.3.3.1-ES6-SNAPSHOT</version> </parent> <groupId>info.textgrid.middleware</groupId> <artifactId>oaipmh-core</artifactId> <packaging>jar</packaging> <name>DARIAHDE :: OAI-PMH DataProvider :: Core</name> - <url>https://projects.gwdg.de/projects/oai-pmh</url> + <url>https://projects.gwdg.de/projects/oai-pmh</url> <dependencies> <dependency> <groupId>org.eclipse.rdf4j</groupId> @@ -23,7 +23,7 @@ <artifactId>const</artifactId> <version>${common.version}</version> </dependency> - <dependency> + <dependency> <groupId>info.textgrid.utils</groupId> <artifactId>httpclients</artifactId> <version>${common.version}</version> @@ -74,22 +74,28 @@ <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>jcl-over-slf4j</artifactId> - <version>${slf4j.version}</version> - <scope>runtime</scope> - </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-log4j12</artifactId> - <version>${slf4j.version}</version> - <scope>runtime</scope> - </dependency> - <dependency> - <groupId>log4j</groupId> - <artifactId>log4j</artifactId> - <version>1.2.14</version> +<!-- <dependency> --> +<!-- <groupId>org.slf4j</groupId> --> +<!-- <artifactId>jcl-over-slf4j</artifactId> --> +<!-- <version>${slf4j.version}</version> --> +<!-- <scope>runtime</scope> --> +<!-- </dependency> --> +<!-- <dependency> --> +<!-- <groupId>org.slf4j</groupId> --> +<!-- <artifactId>slf4j-log4j12</artifactId> --> +<!-- <version>${slf4j.version}</version> --> +<!-- <scope>runtime</scope> --> +<!-- </dependency> --> +<!-- <dependency> --> +<!-- <groupId>log4j</groupId> --> +<!-- <artifactId>log4j</artifactId> --> +<!-- <version>1.2.14</version> --> +<!-- </dependency> --> + <!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core --> + <dependency> + <groupId>org.apache.logging.log4j</groupId> + <artifactId>log4j-core</artifactId> + <version>2.14.1</version> </dependency> <dependency> <groupId>org.classicmayan.tools</groupId> @@ -107,18 +113,18 @@ <artifactId>json</artifactId> <version>20190722</version> </dependency> - <dependency> + <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring.version}</version> </dependency> -<!-- https://mvnrepository.com/artifact/com.thoughtworks.xstream/xstream --> -<dependency> - <groupId>com.thoughtworks.xstream</groupId> - <artifactId>xstream</artifactId> - <version>1.4.12</version> -</dependency> + <!-- https://mvnrepository.com/artifact/com.thoughtworks.xstream/xstream --> + <dependency> + <groupId>com.thoughtworks.xstream</groupId> + <artifactId>xstream</artifactId> + <version>1.4.12</version> + </dependency> </dependencies> diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererDC.java b/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererDC.java index defda4a5..bf6ff817 100644 --- a/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererDC.java +++ b/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererDC.java @@ -2,10 +2,10 @@ package info.textgrid.middleware; import java.io.IOException; import java.text.ParseException; -import java.util.HashMap; import java.util.Hashtable; import java.util.Map; import javax.xml.datatype.DatatypeConfigurationException; +import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.elasticsearch.action.search.SearchRequest; import org.elasticsearch.action.search.SearchResponse; @@ -37,12 +37,14 @@ import info.textgrid.middleware.oaipmh.ResumptionTokenType; public class IdentifierListDelivererDC extends IdentifierListDelivererAbstract { + private Log log = LogFactory.getLog(SetDeliverer.class); + private static final int lifeTimeResToken = 100; private static final String DH_ES_DIVIDER_CHAR = "."; private static final String DH_ES_DIVIDER_REGEXP = "\\."; - private static org.apache.commons.logging.Log log = - LogFactory.getLog(IdentifierListDelivererDC.class); + // private static org.apache.commons.logging.Log log = + // LogFactory.getLog(IdentifierListDelivererDC.class); public static Map<String, Integer> cursorCollector = new Hashtable<String, Integer>(); private String datestamp; @@ -165,12 +167,12 @@ public class IdentifierListDelivererDC extends IdentifierListDelivererAbstract { long size = listFurtherValues.getHits().totalHits; setResultSize(size); - // System.out.println(" ## hits --> " + size); + log.info(" ## hits --> " + size); for (SearchHit hit : listFurtherValues.getHits().getHits()) { i++; - // System.out.println(" ## hit --> " + hit.getId()); + this.log.info(" ## hit --> " + hit.getId()); // Handle TextGrid. if (this.textgrid) { @@ -178,10 +180,10 @@ public class IdentifierListDelivererDC extends IdentifierListDelivererAbstract { String datestamp = hit.getSourceAsMap().get(this.dateOfObjectCreation).toString(); try { datestamp = OAIPMHUtilities.convertDateFormat(datestamp).toXMLFormat(); - } catch (ParseException e1) { - log.debug(e1); - } catch (DatatypeConfigurationException e1) { - log.debug(e1); + } catch (ParseException e) { + this.log.error(e.getMessage()); + } catch (DatatypeConfigurationException e) { + this.log.error(e.getMessage()); } String identifier = hit.getSourceAsMap().get(this.identifierField).toString(); lit = setListIdentifierHeader(datestamp, identifier, lit, set); @@ -190,7 +192,7 @@ public class IdentifierListDelivererDC extends IdentifierListDelivererAbstract { // Handle DARIAH. else if (this.dariah) { - // System.out.println(" ## dateOfObjectCreation --> " + this.dateOfObjectCreation); + this.log.info(" ## dateOfObjectCreation --> " + this.dateOfObjectCreation); JSONObject json = new JSONObject(hit.getSourceAsMap()); @@ -199,46 +201,47 @@ public class IdentifierListDelivererDC extends IdentifierListDelivererAbstract { this.datestamp = OAIPMHUtilities.fieldLoader(json, this.dateOfObjectCreation); -// // Divide object. -// String dateOfObjectCreationEntries[] = -// this.dateOfObjectCreation.split(DH_ES_DIVIDER_REGEXP); -// -// // System.out.println(" ## divider --> " + DH_ES_DIVIDER_CHAR); -// // System.out.println(" ## length of dOOCD --> " + dateOfObjectCreationEntries.length); -// // System.out.println(" ## dOOCD --> " + dateOfObjectCreationEntries); -// -// if (dateOfObjectCreationEntries.length != 2) { -// // FIXME Go to ERROR state! -// } else { -// String prefix = dateOfObjectCreationEntries[0]; -// String suffix = dateOfObjectCreationEntries[1]; -// -// if (hit.getSourceAsMap().containsKey(prefix)) { -// -// HashMap<String, Object> prefixMap = -// (HashMap<String, Object>) hit.getSourceAsMap().get(prefix); -// -// // System.out.println(" ## prefix value (" + prefix + ") --> " + prefixMap); -// -// this.datestamp = prefixMap.get(suffix).toString(); -// } -// } + // // Divide object. + // String dateOfObjectCreationEntries[] = + // this.dateOfObjectCreation.split(DH_ES_DIVIDER_REGEXP); + // + // // System.out.println(" ## divider --> " + DH_ES_DIVIDER_CHAR); + // // System.out.println(" ## length of dOOCD --> " + dateOfObjectCreationEntries.length); + // // System.out.println(" ## dOOCD --> " + dateOfObjectCreationEntries); + // + // if (dateOfObjectCreationEntries.length != 2) { + // // FIXME Go to ERROR state! + // } else { + // String prefix = dateOfObjectCreationEntries[0]; + // String suffix = dateOfObjectCreationEntries[1]; + // + // if (hit.getSourceAsMap().containsKey(prefix)) { + // + // HashMap<String, Object> prefixMap = + // (HashMap<String, Object>) hit.getSourceAsMap().get(prefix); + // + // // System.out.println(" ## prefix value (" + prefix + ") --> " + prefixMap); + // + // this.datestamp = prefixMap.get(suffix).toString(); + // } + // } } else { this.datestamp = hit.getSourceAsMap().get(this.dateOfObjectCreation).toString(); } // Convert datestamp. try { - // System.out.println(" ## datestamp --> " + this.datestamp); + + this.log.info(" ## datestamp --> " + this.datestamp); this.datestamp = OAIPMHUtilities.convertDateFormat(this.datestamp).toXMLFormat(); - // System.out.println(" ## datestamp converted --> " + this.datestamp); + this.log.info(" ## datestamp converted --> " + this.datestamp); } catch (ParseException e) { - log.debug(e); + this.log.error(e.getMessage()); // FIXME Go to ERROR state! } catch (DatatypeConfigurationException e) { - log.debug(e); + this.log.error(e.getMessage()); // FIXME Go to ERROR state! } @@ -247,35 +250,35 @@ public class IdentifierListDelivererDC extends IdentifierListDelivererAbstract { if (this.identifierField.contains(DH_ES_DIVIDER_CHAR)) { identifier = OAIPMHUtilities.fieldLoader(json, this.identifierField); - -// // Divide object. -// String identifierEntries[] = this.identifierField.split(DH_ES_DIVIDER_REGEXP); -// -// // System.out.println(" ## divider --> " + DH_ES_DIVIDER_CHAR); -// // System.out.println(" ## length of iE --> " + identifierEntries.length); -// // System.out.println(" ## iE --> " + identifierEntries); -// -// if (identifierEntries.length != 2) { -// // FIXME Go to ERROR state! -// } else { -// String prefix = identifierEntries[0]; -// String suffix = identifierEntries[1]; -// -// if (hit.getSourceAsMap().containsKey(prefix)) { -// -// HashMap<String, Object> prefixMap = -// (HashMap<String, Object>) hit.getSourceAsMap().get(prefix); -// -// // System.out.println(" ## prefix value (" + prefix + ") --> " + prefixMap); -// -// identifier = prefixMap.get(suffix).toString(); -// } -// } + + // // Divide object. + // String identifierEntries[] = this.identifierField.split(DH_ES_DIVIDER_REGEXP); + // + // // System.out.println(" ## divider --> " + DH_ES_DIVIDER_CHAR); + // // System.out.println(" ## length of iE --> " + identifierEntries.length); + // // System.out.println(" ## iE --> " + identifierEntries); + // + // if (identifierEntries.length != 2) { + // // FIXME Go to ERROR state! + // } else { + // String prefix = identifierEntries[0]; + // String suffix = identifierEntries[1]; + // + // if (hit.getSourceAsMap().containsKey(prefix)) { + // + // HashMap<String, Object> prefixMap = + // (HashMap<String, Object>) hit.getSourceAsMap().get(prefix); + // + // // System.out.println(" ## prefix value (" + prefix + ") --> " + prefixMap); + // + // identifier = prefixMap.get(suffix).toString(); + // } + // } } else { identifier = hit.getSourceAsMap().get(this.identifierField).toString(); } - // System.out.println(" ## identifier --> " + identifier); + this.log.info(" ## identifier --> " + identifier); lit = setListIdentifierHeader(this.datestamp, identifier, lit, set); } diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/SetDeliverer.java b/oaipmh-core/src/main/java/info/textgrid/middleware/SetDeliverer.java index 36bcf834..2fff63a6 100644 --- a/oaipmh-core/src/main/java/info/textgrid/middleware/SetDeliverer.java +++ b/oaipmh-core/src/main/java/info/textgrid/middleware/SetDeliverer.java @@ -2,6 +2,8 @@ package info.textgrid.middleware; import java.io.IOException; import java.util.Map.Entry; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.elasticsearch.action.search.SearchRequest; import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.client.RequestOptions; @@ -25,6 +27,8 @@ import info.textgrid.middleware.oaipmh.SetType; */ public class SetDeliverer { + private Log log = LogFactory.getLog(SetDeliverer.class); + private static final int DH_SIZE = 100000; private static final String DH_COLLECTION_FILTER_NAME = "collectionFilter"; @@ -134,18 +138,19 @@ public class SetDeliverer { request.source(searchSourceBuilder); - // System.out.println(" ## SetDeliverer() request --> " + request); + this.log.info(" ## SetDeliverer() request --> " + request); // Get items with TG or DH request. SearchResponse getRecordListItems = null; try { getRecordListItems = OAI_ESClient.getEsClient().search(request, RequestOptions.DEFAULT); - // System.out.println( - // " ## SetDeliverer() list item count --> " + getRecordListItems.getHits().totalHits); + this.log + .info(" ## SetDeliverer() list item count --> " + getRecordListItems.getHits().totalHits); } catch (IOException e) { // TODO Auto-generated catch block + this.log.error(e.getMessage()); e.printStackTrace(); } @@ -187,7 +192,7 @@ public class SetDeliverer { String name = entry.getKey(); - // System.out.println(" ## entry key --> " + entry.getKey()); + this.log.info(" ## entry key --> " + entry.getKey()); if (name.equals(DH_COLLECTION_FILTER_NAME)) { Filter filterCollection = @@ -198,16 +203,16 @@ public class SetDeliverer { // Divide ID and title. String combined = b.getKeyAsString(); - // System.out.println(" ## combined --> " + combined); + this.log.info(" ## combined --> " + combined); int indexOf = combined.indexOf(DH_FIELD_DIVIDER); String id = combined.substring(0, indexOf); - // System.out.println(" ## id --> " + id); + this.log.info(" ## id --> " + id); String title = combined.substring(indexOf + 1); - // System.out.println(" ## title --> " + title); + this.log.info(" ## title --> " + title); // Set set. SetType newSet = new SetType(); -- GitLab