From 3a7ca28d9de7a0716404b1aa9acf1ebf05145af1 Mon Sep 17 00:00:00 2001 From: labkey-ankurj Date: Thu, 6 Aug 2020 09:48:57 -0700 Subject: [PATCH 1/5] fix log4j formatting and credits file --- api/resources/credits/jars.txt | 1 + api/src/org/labkey/api/pipeline/PipelineJob.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/api/resources/credits/jars.txt b/api/resources/credits/jars.txt index b6ac7d78762..68697995a86 100644 --- a/api/resources/credits/jars.txt +++ b/api/resources/credits/jars.txt @@ -42,6 +42,7 @@ jxl-2.6.3.jar|API|2.6.3|{link:jexcelapi|http://www.jexcelapi.org/}|{link:LGPL|ht kaptcha-2.3.jar|Captcha generator|2.3|{link:kaptcha|http://code.google.com/p/kaptcha/}|{link:Apache 2.0|http://www.apache.org/licenses/LICENSE-2.0}|nicka|User signup forms log4j-api-2.13.3.jar|Log4j|2.13.3|{link:Apache|https://logging.apache.org/log4j/2.x/}|{link:Apache 2.0|http://www.apache.org/licenses/LICENSE-2.0}|ankurj|Logging log4j-core-2.13.3.jar|Log4j|2.13.3|{link:Apache|https://logging.apache.org/log4j/2.x/}|{link:Apache 2.0|http://www.apache.org/licenses/LICENSE-2.0}|ankurj|Logging +log4j-1.2-api-2.13.3.jar|Log4j|2.13.3|{link:Apache|https://logging.apache.org/log4j/2.x/}|{link:Apache 2.0|http://www.apache.org/licenses/LICENSE-2.0}|ankurj|Logging objenesis-1.0.jar|Objenesis|1.0|{link:Objenesis|http://code.google.com/p/objenesis/}|{link:Apache 2.0|http://www.apache.org/licenses/LICENSE-2.0}|jeckels|Library for instantiating Java objects, dependency of jMock opencsv-2.3.jar|OpenCSV|2.3|{link:OpenCSV|http://opencsv.sourceforge.net/}|{link:Apache 2.0|http://www.apache.org/licenses/LICENSE-2.0}|adam|Parsing CSV Files patricia-trie-0.6.jar|PATRICIA Trie|0.6|{link:PATRICIA Trie|http://code.google.com/p/patricia-trie/}|{link:Apache 2.0|http://www.apache.org/licenses/LICENSE-2.0}|jeckels|PATRICIA Trie data structure implementation diff --git a/api/src/org/labkey/api/pipeline/PipelineJob.java b/api/src/org/labkey/api/pipeline/PipelineJob.java index f4e0bc50bea..15954c615cc 100644 --- a/api/src/org/labkey/api/pipeline/PipelineJob.java +++ b/api/src/org/labkey/api/pipeline/PipelineJob.java @@ -1506,7 +1506,7 @@ public void write(String message, @Nullable Throwable t, String level) { var line = formattedDate + " " + String.format("%-5s", level) + - " : " + + ": " + message; writer.write(line); writer.write(LINE_SEP); From 906a3645358fc2532ae124e444af96ffed0eb82d Mon Sep 17 00:00:00 2001 From: labkey-ankurj Date: Thu, 6 Aug 2020 11:45:25 -0700 Subject: [PATCH 2/5] fixing Logging int levels comparisons --- api/src/org/labkey/api/data/Table.java | 4 ++-- api/src/org/labkey/api/query/MetadataParseWarning.java | 2 +- api/src/org/labkey/api/query/QueryParseException.java | 8 ++++---- api/src/org/labkey/api/query/QueryParseWarning.java | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/api/src/org/labkey/api/data/Table.java b/api/src/org/labkey/api/data/Table.java index 63ed3f0f9ad..3f3199aa156 100644 --- a/api/src/org/labkey/api/data/Table.java +++ b/api/src/org/labkey/api/data/Table.java @@ -443,7 +443,7 @@ static void logException(@Nullable SQLFragment sql, @Nullable Connection conn, S if (RuntimeSQLException.isConstraintException(e) && (StringUtils.startsWithIgnoreCase(trim, "INSERT") || StringUtils.startsWithIgnoreCase(trim, "UPDATE"))) { // Log this ConstraintException if log Level is WARN (the default) or lower. Skip logging for callers that request just ERRORs. - if (Level.WARN.intLevel() >= logLevel.intLevel()) + if (Level.WARN.isMoreSpecificThan(logLevel)) { _log.warn("SQL Exception", e); _logQuery(Level.WARN, sql, conn); @@ -452,7 +452,7 @@ static void logException(@Nullable SQLFragment sql, @Nullable Connection conn, S else { // Log this SQLException if log level is ERROR or lower. - if (Level.ERROR.intLevel() >= logLevel.intLevel()) + if (Level.ERROR.isMoreSpecificThan(logLevel)) { _log.error("SQL Exception", e); _logQuery(Level.ERROR, sql, conn); diff --git a/api/src/org/labkey/api/query/MetadataParseWarning.java b/api/src/org/labkey/api/query/MetadataParseWarning.java index b048d254160..44076d9135d 100644 --- a/api/src/org/labkey/api/query/MetadataParseWarning.java +++ b/api/src/org/labkey/api/query/MetadataParseWarning.java @@ -33,7 +33,7 @@ public MetadataParseWarning(String message) public MetadataParseWarning(String message, Throwable cause, int line, int column) { super(message, cause, line, column); - _level = Level.WARN.intLevel(); + _level = Level.WARN; } public MetadataParseWarning(String queryName, QueryParseException other) diff --git a/api/src/org/labkey/api/query/QueryParseException.java b/api/src/org/labkey/api/query/QueryParseException.java index ed13b1707bb..23fa1fbd1c6 100644 --- a/api/src/org/labkey/api/query/QueryParseException.java +++ b/api/src/org/labkey/api/query/QueryParseException.java @@ -29,7 +29,7 @@ public class QueryParseException extends QueryException { protected int _line; protected int _column; - protected int _level = Level.ERROR.intLevel(); + protected Level _level = Level.ERROR; public QueryParseException(String message, Throwable cause, int line, int column) { @@ -47,12 +47,12 @@ public QueryParseException(String queryName, QueryParseException other) public boolean isError() { - return _level >= Level.ERROR.intLevel(); + return _level.isMoreSpecificThan(Level.ERROR); } public boolean isWarning() { - return _level < Level.ERROR.intLevel(); + return _level.isLessSpecificThan(Level.ERROR); } @@ -62,7 +62,7 @@ public String getMessage() String ret = super.getMessage(); if (_line != 0) { - if (_level == Level.WARN.intLevel()) + if (_level.intLevel() == Level.WARN.intLevel()) ret = "Warning on line " + _line + ": " + ret; else ret = "Error on line " + _line + ": " + ret; diff --git a/api/src/org/labkey/api/query/QueryParseWarning.java b/api/src/org/labkey/api/query/QueryParseWarning.java index 67b1aabb3a3..e0e34f01424 100644 --- a/api/src/org/labkey/api/query/QueryParseWarning.java +++ b/api/src/org/labkey/api/query/QueryParseWarning.java @@ -28,6 +28,6 @@ public class QueryParseWarning extends QueryParseException public QueryParseWarning(String message, Throwable cause, int line, int column) { super(message, cause, line, column); - _level = Level.WARN.intLevel(); + _level = Level.WARN; } } From 6dfe6e9409f00caf9be3ae33c64e55b2312b7219 Mon Sep 17 00:00:00 2001 From: labkey-ankurj Date: Thu, 6 Aug 2020 12:53:26 -0700 Subject: [PATCH 3/5] fix expected pipeline errors test --- api/src/org/labkey/api/pipeline/PipelineJob.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/api/src/org/labkey/api/pipeline/PipelineJob.java b/api/src/org/labkey/api/pipeline/PipelineJob.java index 15954c615cc..f329e9c9abf 100644 --- a/api/src/org/labkey/api/pipeline/PipelineJob.java +++ b/api/src/org/labkey/api/pipeline/PipelineJob.java @@ -1436,6 +1436,7 @@ public void error(String message) { _job.getClassLogger().error(getSystemLogMessage(message)); write(message, null, Level.ERROR.toString()); + setErrorStatus(message); } @Override @@ -1451,6 +1452,7 @@ public void fatal(String message) { _job.getClassLogger().fatal(getSystemLogMessage(message)); write(message, null, Level.FATAL.toString()); + setErrorStatus(message); } @Override From 776bd4b5bfa33c061b5c7f9c5b8a108743091cfd Mon Sep 17 00:00:00 2001 From: labkey-ankurj Date: Thu, 6 Aug 2020 14:54:49 -0700 Subject: [PATCH 4/5] override method for Script Engine logs --- api/src/org/labkey/api/pipeline/PipelineJob.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/api/src/org/labkey/api/pipeline/PipelineJob.java b/api/src/org/labkey/api/pipeline/PipelineJob.java index f329e9c9abf..463a9c963e2 100644 --- a/api/src/org/labkey/api/pipeline/PipelineJob.java +++ b/api/src/org/labkey/api/pipeline/PipelineJob.java @@ -1463,6 +1463,14 @@ public void fatal(String message, Throwable t) setErrorStatus(message); } + // called from LogOutputStream.flush() + @Override + public void log(Level level, String message) + { + _job.getClassLogger().log(level, message); + write(message, null, level.toString()); + } + private String getSystemLogMessage(Object message) { StringBuilder sb = new StringBuilder(); From 88d9fd8e2ce17a018f2934ae439f0cdebebe0bcc Mon Sep 17 00:00:00 2001 From: labkey-ankurj Date: Thu, 6 Aug 2020 15:41:18 -0700 Subject: [PATCH 5/5] fix call to logger method --- study/src/org/labkey/study/importer/SpecimenImporter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/study/src/org/labkey/study/importer/SpecimenImporter.java b/study/src/org/labkey/study/importer/SpecimenImporter.java index 4498623c1c4..39f56ee6958 100644 --- a/study/src/org/labkey/study/importer/SpecimenImporter.java +++ b/study/src/org/labkey/study/importer/SpecimenImporter.java @@ -3514,7 +3514,7 @@ protected void checkForConflictingSpecimens(DbSchema schema, String tempTable, L } } - _logger.error(sb); + _logger.error(sb.toString()); // If conflicts are found, stop the import. throw new IllegalStateException(sb.toString());