[Android Black Technolog] 어플리케이션 출시 시 로그 출력 제어
방법 1: 로그를 인쇄할 때 조건 판단
if(BuildConfig.DEBUG)
Log.i(TAG, "Debugging");
만약 응용 중log가 비교적 적다면 이런 방법을 선택할 수 있으며 간단하고 빠르며 효과적이다.
방법2: 스스로 Log 도구 클래스를 패키지하고 클래스에서 로그 표시 레벨을 설정합니다.
public class LogUtils {
public static int LOG_LEVEL = 0;
public static int ERROR = 1;
public static int WARN = 2;
public static int INFO = 3;
public static int DEBUG = 4;
public static int VERBOS = 5;
public static void e(String tag,String msg){
if(LOG_LEVEL>ERROR)
Log.e(tag, msg);
}
public static void w(String tag,String msg){
if(LOG_LEVEL>WARN)
Log.w(tag, msg);
}
public static void i(String tag,String msg){
if(LOG_LEVEL>INFO)
Log.i(tag, msg);
}
public static void d(String tag,String msg){
if(LOG_LEVEL>DEBUG)
Log.d(tag, msg);
}
public static void v(String tag,String msg){
if(LOG_LEVEL>VERBOS)
Log.v(tag, msg);
}
}
이 방법도 현재 유행하는 방법으로 어떤 등급의 로그 정보를 표시해야 하는지를 마음대로 설정할 수 있다.
메서드 3: Proguard 혼동을 통한 Log 정보 제거
우선,build.gradle의 minifyEnabled를 true로 설정하여 혼동을 켭니다.
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),'proguard-rules.pro'
signingConfig signingConfigs.SginConfig
}
}
그 다음,proguard-rules에서.프로 파일에 다음 코드 추가
-assumenosideeffects class android.util.Log {
public static boolean isLoggable(java.lang.String, int);
public static int v(...);
public static int i(...);
public static int w(...);
public static int d(...);
public static int e(...);
게시 응용 프로그램에 표시될 레벨에 따라 어떤 레벨의 로그를 제거할지 결정할 수 있습니다. (제거할 로그 레벨을 상기 설정에 넣습니다.) 또한proguard 설정에는
-dontoptimize
이 설정이 있는지 주의해야 합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.