Last active
October 9, 2023 11:56
-
-
Save LeoAndo/74ecb070fb75999f551a7fdb25489469 to your computer and use it in GitHub Desktop.
[Android] Tag名とメッセージに呼び出し元の情報を自動付与するLog出力クラス
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package jp.xxx; // TODO 環境によってパスを変えてください | |
import android.util.Log; | |
import android.util.Pair; | |
import androidx.annotation.NonNull; | |
public final class Logger { | |
private Logger() { | |
} | |
public static void i(@NonNull final String msg) { | |
final Pair<String, String> data = createMessage(msg); | |
Log.i(data.first, data.second); | |
} | |
public static void v(@NonNull final String msg) { | |
final Pair<String, String> data = createMessage(msg); | |
Log.v(data.first, data.second); | |
} | |
public static void d(@NonNull final String msg) { | |
final Pair<String, String> data = createMessage(msg); | |
Log.d(data.first, data.second); | |
} | |
public static void w(@NonNull final String msg) { | |
final Pair<String, String> data = createMessage(msg); | |
Log.w(data.first, data.second); | |
} | |
public static void w(@NonNull final String msg, @NonNull final Throwable throwable) { | |
final Pair<String, String> data = createMessage(msg); | |
Log.w(data.first, data.second, throwable); | |
} | |
public static void e(@NonNull final String msg) { | |
final Pair<String, String> data = createMessage(msg); | |
Log.e(data.first, data.second); | |
} | |
public static void e(@NonNull final String msg, @NonNull final Throwable throwable) { | |
final Pair<String, String> data = createMessage(msg); | |
Log.e(data.first, data.second, throwable); | |
} | |
private static Pair<String, String> createMessage(@NonNull final String msg) { | |
final StackTraceElement stack = Thread.currentThread().getStackTrace()[4]; | |
final String fullName = stack.getClassName(); | |
final String tag = fullName.substring(fullName.lastIndexOf(".") + 1); | |
final String message = '<' + stack.getMethodName() + ":" + stack.getLineNumber() + "> " + msg; | |
return new Pair<>(tag, message); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
使い方
Java
実行結果 Logcat