您的位置:

报错IllegalArgumentException("Log level must be one of Log.VERBOSE, Log.DEBUG," + " Log.INFO, Log.WARN, or Log.ERROR")的解决

  发布时间:2023-01-25 06:30:01
Glide只允许设置为Log.VERBOSE, Log.DEBUG, Log.INFO, Log.WARN, or Log.ERROR其中之一。如果设置了其他值,就会抛出这个异常。如何解决解决方法是在初始化Glide之前,使用Glide.setLogLevel正确设置日志级别,XXX应该是 Log.VERBOSE, Log.DEBUG, Log.INFO, Log.WARN, or Log.ERROR 之一。使用例子可以这样做:<pre><code class='java'>Glide.with .setLogLevel .load .into;或者<pre><code class='java'>Glide.setLogLevel;Glide.with .load .into;这样会在Glide调用之前设置日志级别为Log.ERROR。如果你想让log level 变为debug,你可以把ERROR改成DEBUG<pre><code class='java'>Glide.setLogLevel;

报错的原因

这个异常是由于Glide在初始化时,日志级别设置不正确造成的。Glide只允许设置为Log.VERBOSE, Log.DEBUG, Log.INFO, Log.WARN, or Log.ERROR其中之一。如果设置了其他值,就会抛出这个异常。

如何解决

解决方法是在初始化Glide之前,使用Glide.setLogLevel(Log.XXX)正确设置日志级别,XXX应该是 Log.VERBOSE, Log.DEBUG, Log.INFO, Log.WARN, or Log.ERROR 之一。例如:


Glide.setLogLevel(Log.ERROR);
Glide.with(context).load(imageUrl).into(imageView);

注意:在生产环境中建议设置为Log.ERROR,因为这样可以减少不必要的日志输出。

使用例子

可以这样做:


Glide.with(context)
    .setLogLevel(Log.ERROR)
    .load(imageUrl)
    .into(imageView);

或者


Glide.setLogLevel(Log.ERROR);
Glide.with(context)
    .load(imageUrl)
    .into(imageView);

这样会在Glide调用之前设置日志级别为Log.ERROR。

如果你想让log level 变为debug,你可以把ERROR改成DEBUG


Glide.setLogLevel(Log.DEBUG);