mirror of
https://github.com/M66B/FairEmail.git
synced 2026-04-04 16:16:33 +02:00
Added log level debug option
This commit is contained in:
@@ -200,6 +200,10 @@ public class ApplicationEx extends Application
|
||||
// Should be excluded for import
|
||||
restart();
|
||||
break;
|
||||
case "debug":
|
||||
case "log_level":
|
||||
Log.setLevel(this);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -577,8 +577,10 @@ public class EmailService implements AutoCloseable {
|
||||
if (!line.endsWith("ignoring socket timeout"))
|
||||
if (log)
|
||||
EntityLog.log(context, user + " " + line);
|
||||
else
|
||||
android.util.Log.i("javamail", user + " " + line);
|
||||
else {
|
||||
if (BuildConfig.DEBUG)
|
||||
Log.i("javamail", user + " " + line);
|
||||
}
|
||||
bos.reset();
|
||||
} else
|
||||
bos.write(b);
|
||||
|
||||
@@ -110,6 +110,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc
|
||||
|
||||
private SwitchCompat swProtocol;
|
||||
private SwitchCompat swDebug;
|
||||
private SwitchCompat swInfo;
|
||||
private SwitchCompat swExpunge;
|
||||
private SwitchCompat swAuthPlain;
|
||||
private SwitchCompat swAuthLogin;
|
||||
@@ -135,7 +136,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc
|
||||
"classification", "class_min_probability", "class_min_difference",
|
||||
"language", "watchdog", "updates",
|
||||
"experiments", "wal", "query_threads", "crash_reports", "cleanup_attachments",
|
||||
"protocol", "debug", "perform_expunge", "auth_plain", "auth_login", "auth_ntlm", "auth_sasl"
|
||||
"protocol", "debug", "log_level", "perform_expunge", "auth_plain", "auth_login", "auth_ntlm", "auth_sasl"
|
||||
};
|
||||
|
||||
private final static String[] RESET_QUESTIONS = new String[]{
|
||||
@@ -206,6 +207,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc
|
||||
|
||||
swProtocol = view.findViewById(R.id.swProtocol);
|
||||
swDebug = view.findViewById(R.id.swDebug);
|
||||
swInfo = view.findViewById(R.id.swInfo);
|
||||
swExpunge = view.findViewById(R.id.swExpunge);
|
||||
swAuthPlain = view.findViewById(R.id.swAuthPlain);
|
||||
swAuthLogin = view.findViewById(R.id.swAuthLogin);
|
||||
@@ -471,11 +473,17 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
|
||||
prefs.edit().putBoolean("debug", checked).apply();
|
||||
Log.setDebug(checked);
|
||||
grpDebug.setVisibility(checked || BuildConfig.DEBUG ? View.VISIBLE : View.GONE);
|
||||
}
|
||||
});
|
||||
|
||||
swInfo.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
|
||||
prefs.edit().putInt("log_level", checked ? android.util.Log.INFO : android.util.Log.WARN).apply();
|
||||
}
|
||||
});
|
||||
|
||||
swProtocol.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
|
||||
@@ -868,6 +876,7 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc
|
||||
|
||||
swProtocol.setChecked(prefs.getBoolean("protocol", false));
|
||||
swDebug.setChecked(prefs.getBoolean("debug", false));
|
||||
swInfo.setChecked(prefs.getInt("log_level", Log.getDefaultLogLevel()) <= android.util.Log.INFO);
|
||||
swExpunge.setChecked(prefs.getBoolean("perform_expunge", true));
|
||||
swAuthPlain.setChecked(prefs.getBoolean("auth_plain", true));
|
||||
swAuthLogin.setChecked(prefs.getBoolean("auth_login", true));
|
||||
|
||||
@@ -123,28 +123,52 @@ import javax.net.ssl.SSLPeerUnverifiedException;
|
||||
import io.requery.android.database.CursorWindowAllocationException;
|
||||
|
||||
public class Log {
|
||||
private static boolean debug = false;
|
||||
private static int level = android.util.Log.INFO;
|
||||
private static final int MAX_CRASH_REPORTS = 5;
|
||||
private static final String TAG = "fairemail";
|
||||
|
||||
public static void setDebug(boolean value) {
|
||||
debug = value;
|
||||
public static void setLevel(Context context) {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
boolean debug = prefs.getBoolean("debug", false);
|
||||
if (debug)
|
||||
level = android.util.Log.DEBUG;
|
||||
else
|
||||
level = prefs.getInt("log_level", getDefaultLogLevel());
|
||||
android.util.Log.d(TAG, "Log level=" + level);
|
||||
}
|
||||
|
||||
public static int getDefaultLogLevel() {
|
||||
return (BuildConfig.DEBUG ? android.util.Log.INFO : android.util.Log.WARN);
|
||||
}
|
||||
|
||||
public static int d(String msg) {
|
||||
if (debug)
|
||||
if (level <= android.util.Log.DEBUG)
|
||||
return android.util.Log.d(TAG, msg);
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
public static int d(String tag, String msg) {
|
||||
if (level <= android.util.Log.DEBUG)
|
||||
return android.util.Log.d(tag, msg);
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
public static int i(String msg) {
|
||||
if (BuildConfig.BETA_RELEASE)
|
||||
if (level <= android.util.Log.INFO)
|
||||
return android.util.Log.i(TAG, msg);
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
public static int i(String tag, String msg) {
|
||||
if (level <= android.util.Log.INFO)
|
||||
return android.util.Log.i(tag, msg);
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
public static int w(String msg) {
|
||||
return android.util.Log.w(TAG, msg);
|
||||
}
|
||||
@@ -262,9 +286,7 @@ public class Log {
|
||||
}
|
||||
|
||||
static void setup(Context context) {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
debug = prefs.getBoolean("debug", false);
|
||||
|
||||
setLevel(context);
|
||||
setupBugsnag(context);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user