Skip to content

Commit 71a8dbb

Browse files
committed
Added logLevel option (#171)
1 parent 7f0c618 commit 71a8dbb

5 files changed

Lines changed: 16 additions & 0 deletions

File tree

api/src/main/java/xyz/gianlu/librespot/api/Main.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package xyz.gianlu.librespot.api;
22

3+
import org.apache.log4j.LogManager;
34
import xyz.gianlu.librespot.AbsConfiguration;
45
import xyz.gianlu.librespot.FileConfiguration;
56
import xyz.gianlu.librespot.core.AuthConfiguration;
@@ -17,6 +18,7 @@ public class Main {
1718

1819
public static void main(String[] args) throws IOException, MercuryClient.MercuryException, GeneralSecurityException, Session.SpotifyAuthenticationException {
1920
AbsConfiguration conf = new FileConfiguration(args);
21+
LogManager.getRootLogger().setLevel(conf.loggingLevel());
2022

2123
SessionWrapper wrapper;
2224
if (conf.authStrategy() == AuthConfiguration.Strategy.ZEROCONF)

core/src/main/java/xyz/gianlu/librespot/AbsConfiguration.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package xyz.gianlu.librespot;
22

33
import com.spotify.connectstate.Connect;
4+
import org.apache.log4j.Level;
45
import org.jetbrains.annotations.NotNull;
56
import org.jetbrains.annotations.Nullable;
67
import xyz.gianlu.librespot.api.ApiConfiguration;
@@ -24,4 +25,7 @@ public abstract class AbsConfiguration implements ApiConfiguration, Session.Prox
2425

2526
@NotNull
2627
public abstract String preferredLocale();
28+
29+
@NotNull
30+
public abstract Level loggingLevel();
2731
}

core/src/main/java/xyz/gianlu/librespot/FileConfiguration.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import com.electronwill.nightconfig.core.io.ConfigWriter;
1313
import com.electronwill.nightconfig.toml.TomlParser;
1414
import com.spotify.connectstate.Connect;
15+
import org.apache.log4j.Level;
1516
import org.apache.log4j.Logger;
1617
import org.jetbrains.annotations.NotNull;
1718
import org.jetbrains.annotations.Nullable;
@@ -311,6 +312,12 @@ public boolean stopPlaybackOnChunkError() {
311312
return config.get("preferredLocale");
312313
}
313314

315+
@Override
316+
public @NotNull Level loggingLevel() {
317+
String str = config.get("logLevel");
318+
return Level.toLevel(str);
319+
}
320+
314321
@Override
315322
public @Nullable String authUsername() {
316323
return config.get("auth.username");

core/src/main/java/xyz/gianlu/librespot/Main.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package xyz.gianlu.librespot;
22

3+
import org.apache.log4j.LogManager;
34
import xyz.gianlu.librespot.core.AuthConfiguration;
45
import xyz.gianlu.librespot.core.Session;
56
import xyz.gianlu.librespot.core.ZeroconfServer;
@@ -15,6 +16,7 @@ public class Main {
1516

1617
public static void main(String[] args) throws IOException, GeneralSecurityException, Session.SpotifyAuthenticationException, MercuryClient.MercuryException {
1718
AbsConfiguration conf = new FileConfiguration(args);
19+
LogManager.getRootLogger().setLevel(conf.loggingLevel());
1820
if (conf.authStrategy() == AuthConfiguration.Strategy.ZEROCONF) {
1921
ZeroconfServer.create(conf);
2022
} else {

core/src/main/resources/default.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
deviceName = "librespot-java" ### Device name ###
22
deviceType = "COMPUTER" ### Device type (COMPUTER, TABLET, SMARTPHONE, SPEAKER, TV, AVR, STB, AUDIO_DONGLE, GAME_CONSOLE, CAST_VIDEO, CAST_AUDIO, AUTOMOBILE, WEARABLE, UNKNOWN_SPOTIFY, CAR_THING, UNKNOWN) ###
33
preferredLocale = "en" ### Preferred locale ###
4+
logLevel = "TRACE" ### Log level (OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE, ALL) ###
45

56
[auth] ### Authentication ###
67
strategy = "ZEROCONF" # Strategy (USER_PASS, ZEROCONF, BLOB, FACEBOOK)

0 commit comments

Comments
 (0)