You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2020/05/03 19:24:22 UTC
[maven] 01/03: Improve user-friendliness of error message
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch MNG-6891
in repository https://gitbox.apache.org/repos/asf/maven.git
commit 9c9187ae7cd553b52ef1fb095fa397184813a8c6
Author: Maarten Mulders <ma...@infosupport.com>
AuthorDate: Wed Apr 15 13:55:08 2020 +0200
Improve user-friendliness of error message
---
.../java/org/apache/maven/logwrapper/LogLevelRecorder.java | 13 ++++++++++++-
.../org/apache/maven/logwrapper/LogLevelRecorderTest.java | 12 ++++++++++--
2 files changed, 22 insertions(+), 3 deletions(-)
diff --git a/maven-slf4j-wrapper/src/main/java/org/apache/maven/logwrapper/LogLevelRecorder.java b/maven-slf4j-wrapper/src/main/java/org/apache/maven/logwrapper/LogLevelRecorder.java
index 9fa4b51..4ab3d9b 100644
--- a/maven-slf4j-wrapper/src/main/java/org/apache/maven/logwrapper/LogLevelRecorder.java
+++ b/maven-slf4j-wrapper/src/main/java/org/apache/maven/logwrapper/LogLevelRecorder.java
@@ -31,7 +31,18 @@ public class LogLevelRecorder
public LogLevelRecorder( String threshold )
{
- Level level = Level.valueOf( threshold );
+ Level level;
+ try
+ {
+ level = Level.valueOf( threshold );
+ }
+ catch ( IllegalArgumentException iae )
+ {
+ String message = String.format(
+ "%s is not a valid log severity threshold. Valid severities are WARN, WARNING and ERROR.",
+ threshold );
+ throw new IllegalArgumentException( message );
+ }
if ( level.toInt() < Level.WARN.toInt() )
{
throw new IllegalArgumentException( "Logging severity thresholds can only be set to WARN or ERROR" );
diff --git a/maven-slf4j-wrapper/src/test/java/org/apache/maven/logwrapper/LogLevelRecorderTest.java b/maven-slf4j-wrapper/src/test/java/org/apache/maven/logwrapper/LogLevelRecorderTest.java
index 69b2853..4ee9fe6 100644
--- a/maven-slf4j-wrapper/src/test/java/org/apache/maven/logwrapper/LogLevelRecorderTest.java
+++ b/maven-slf4j-wrapper/src/test/java/org/apache/maven/logwrapper/LogLevelRecorderTest.java
@@ -22,7 +22,10 @@ package org.apache.maven.logwrapper;
import org.junit.Test;
import org.slf4j.event.Level;
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.junit.Assert.assertThrows;
import static org.junit.Assert.assertTrue;
+import static org.hamcrest.MatcherAssert.assertThat;
public class LogLevelRecorderTest
{
@@ -41,9 +44,14 @@ public class LogLevelRecorderTest
new LogLevelRecorder( "INFO" );
}
- @Test( expected = IllegalArgumentException.class )
+ @Test
public void failsOnUnknownLogLevel ()
{
- new LogLevelRecorder( "SEVERE" );
+ Throwable thrown = assertThrows( IllegalArgumentException.class, () -> new LogLevelRecorder( "SEVERE" ) );
+ String message = thrown.getMessage();
+ assertThat( message, containsString( "SEVERE is not a valid log severity threshold" ) );
+ assertThat( message, containsString( "WARN" ) );
+ assertThat( message, containsString( "WARNING" ) );
+ assertThat( message, containsString( "ERROR" ) );
}
}
\ No newline at end of file