这是indexloc提供的服务,不要输入任何密码
Skip to content

Commit 6ff5572

Browse files
Changed!: Remove TermuxConstants reference from Logger and set DEFAULT_LOG_TAG at application startup
Plugin apps must do the same
1 parent 8e50685 commit 6ff5572

File tree

3 files changed

+28
-8
lines changed

3 files changed

+28
-8
lines changed
Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package com.termux.app;
22

33
import android.app.Application;
4+
import android.content.Context;
45

6+
import com.termux.shared.termux.TermuxConstants;
57
import com.termux.shared.termux.crash.TermuxCrashUtils;
68
import com.termux.shared.termux.settings.preferences.TermuxAppSharedPreferences;
79
import com.termux.shared.logger.Logger;
@@ -14,16 +16,19 @@ public void onCreate() {
1416
// Set crash handler for the app
1517
TermuxCrashUtils.setCrashHandler(this);
1618

17-
// Set log level for the app
18-
setLogLevel();
19+
// Set log config for the app
20+
setLogConfig(getApplicationContext());
21+
22+
Logger.logDebug("Starting Application");
1923
}
2024

21-
private void setLogLevel() {
25+
public static void setLogConfig(Context context) {
26+
Logger.setDefaultLogTag(TermuxConstants.TERMUX_APP_NAME);
27+
2228
// Load the log level from shared preferences and set it to the {@link Logger.CURRENT_LOG_LEVEL}
23-
TermuxAppSharedPreferences preferences = TermuxAppSharedPreferences.build(getApplicationContext());
29+
TermuxAppSharedPreferences preferences = TermuxAppSharedPreferences.build(context);
2430
if (preferences == null) return;
2531
preferences.setLogLevel(null, preferences.getLogLevel());
26-
Logger.logDebug("Starting Application");
2732
}
2833
}
2934

termux-shared/src/main/java/com/termux/shared/logger/Logger.java

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@
66
import android.util.Log;
77
import android.widget.Toast;
88

9+
import androidx.annotation.NonNull;
10+
911
import com.termux.shared.R;
1012
import com.termux.shared.data.DataUtils;
11-
import com.termux.shared.termux.TermuxConstants;
1213

1314
import java.io.IOException;
1415
import java.io.PrintWriter;
@@ -19,7 +20,7 @@
1920

2021
public class Logger {
2122

22-
public static final String DEFAULT_LOG_TAG = TermuxConstants.TERMUX_APP_NAME;
23+
private static String DEFAULT_LOG_TAG = "Logger";
2324

2425
public static final int LOG_LEVEL_OFF = 0; // log nothing
2526
public static final int LOG_LEVEL_NORMAL = 1; // start logging error, warn and info messages and stacktraces
@@ -419,6 +420,20 @@ public static String getLogLevelLabel(final Context context, final int logLevel,
419420

420421

421422

423+
@NonNull
424+
public static String getDefaultLogTag() {
425+
return DEFAULT_LOG_TAG;
426+
}
427+
428+
/**
429+
* IllegalArgumentException will be thrown if tag.length() > 23 for Nougat (7.0) and prior releases.
430+
* https://developer.android.com/reference/android/util/Log#isLoggable(java.lang.String,%20int) */
431+
public static void setDefaultLogTag(@NonNull String defaultLogTag) {
432+
DEFAULT_LOG_TAG = defaultLogTag.length() >= 23 ? defaultLogTag.substring(0, 22) : defaultLogTag;
433+
}
434+
435+
436+
422437
public static int getLogLevel() {
423438
return CURRENT_LOG_LEVEL;
424439
}

termux-shared/src/main/java/com/termux/shared/shell/StreamGobbler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ public StreamGobbler(@NonNull String shell, @NonNull InputStream inputStream,
190190

191191
@Override
192192
public void run() {
193-
String defaultLogTag = Logger.DEFAULT_LOG_TAG;
193+
String defaultLogTag = Logger.getDefaultLogTag();
194194
boolean loggingEnabled = Logger.shouldEnableLoggingForCustomLogLevel(mLogLevel);
195195
if (loggingEnabled)
196196
Logger.logVerbose(LOG_TAG, "Using custom log level: " + mLogLevel + ", current log level: " + Logger.getLogLevel());

0 commit comments

Comments
 (0)