에서 안드로이드 오픈 소스 프로젝트의 코드 스타일 , 우리가 사용하지 말아야한다고 System.out.println()
하지만 난 왜 이해가 안 돼요. 누구든지 설명 할 수 있습니까? 내 앱의 로그를 추적하려면 무엇을 사용해야합니까?
다음은 참조 용 줄입니다.
System.out.println()
(또는printf()
네이티브 코드의 경우) 절대 사용해서는 안됩니다.System.out
로System.err
리디렉션/dev/null
되므로 print 문은 눈에 띄는 효과가 없습니다. 그러나 이러한 호출에 대해 발생하는 모든 문자열 빌드는 여전히 실행됩니다.
android.util.Log
수업을 사용해야합니다 .
다음은 Log
클래스가 수행 하는 작업에 대한 설명입니다 .
로그 출력을 보내기위한 API입니다.
일반적으로, 당신은 사용한다
Log.v()
,Log.d()
,Log.i()
,Log.w()
, 및Log.e()
로그를 작성하는 방법을. 그런 다음 logcat에서 로그 를 볼 수 있습니다 .자세한 정도의 순서는 ERROR, WARN, INFO, DEBUG, VERBOSE입니다. Verbose는 개발 중을 제외하고는 응용 프로그램으로 컴파일되지 않아야합니다. 디버그 로그는 컴파일되지만 런타임에 제거됩니다. 오류, 경고 및 정보 로그는 항상 유지됩니다.
다음은 Log
클래스 에서 사용할 수있는 메서드입니다 .
Log.d()
- DEBUG
로그 메시지를 보냅니다.Log.e()
- ERROR
로그 메시지를 보냅니다.Log.i()
- INFO
로그 메시지를 보냅니다.Log.v()
- VERBOSE
로그 메시지를 보냅니다.Log.w()
- WARN
로그 메시지를 보냅니다.Log.wtf()
-끔찍한 실패 : 절대 발생해서는 안되는 예외를보고합니다.위의 메서드 ( Log.w
및 Log.wtf
3 개의 가능한 인수 패턴이있는 경우 제외 )에는 다음 인수가 필요합니다.
String tag, String msg
:
tag
: 로그 메시지의 소스를 식별하는 데 사용됩니다. 이 값은 일 수 있습니다null
.
msg
: 기록 할 메시지입니다. 이 값은 일 수 있습니다null
.
String tag, String msg, Throwable tr
-첫 번째 패턴과 유사하지만 예외를 지정할 수 있습니다. 로그 출력에 예외를 기록하려는 경우이 패턴을 사용해야합니다.
( Log.w
및 Log.wtf
) String tag, Throwable tr
세 번째 패턴 과 유사하지만 메시지를 지정할 수 없습니다. 여전히 메시지를 전달할 수 있지만 두 번째 인수 배열에 있어야합니다.
편집 : 귀하의 질문에 대답하기 위해 곧바로 가십시오 : println()
of System.out
및 System.err
여전히 logcat에 표시되지만 제한 사항이 있습니다.
VERBOSE
, ERROR
또는 DEBUG
사용 System.out
하거나 System.err
.자신의 태그를 정의 할 수 없습니다. 태그가 표시 System.err
되거나 System.out
텍스트와 함께 표시됩니다. 예를 들면 :
System.out.println("Hello!")
다음과 같다 Log.i("System.out","Hello!")
System.err.println("Hello!")
다음과 같다 Log.w("System.err","Hello!")
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다