Android에서 System.out.println ()을 사용하면 안되는 이유

Nguyen Minh Binh

에서 안드로이드 오픈 소스 프로젝트의 코드 스타일 , 우리가 사용하지 말아야한다고 System.out.println()하지만 난 왜 이해가 안 돼요. 누구든지 설명 할 수 있습니까? 내 앱의 로그를 추적하려면 무엇을 사용해야합니까?

다음은 참조 용 줄입니다.

System.out.println()(또는 printf()네이티브 코드의 경우) 절대 사용해서는 안됩니다. System.outSystem.err리디렉션 /dev/null되므로 print 문은 눈에 띄는 효과가 없습니다. 그러나 이러한 호출에 대해 발생하는 모든 문자열 빌드는 여전히 실행됩니다.

Glenn

android.util.Log수업을 사용해야합니다 .

다음은 Log클래스가 수행 하는 작업에 대한 설명입니다 .

로그 출력을 보내기위한 API입니다.

일반적으로, 당신은 사용한다 Log.v(), Log.d(), Log.i(), Log.w(), 및 Log.e()로그를 작성하는 방법을. 그런 다음 logcat에서 로그 수 있습니다 .

자세한 정도의 순서는 ERROR, WARN, INFO, DEBUG, VERBOSE입니다. Verbose는 개발 중을 제외하고는 응용 프로그램으로 컴파일되지 않아야합니다. 디버그 로그는 컴파일되지만 런타임에 제거됩니다. 오류, 경고 및 정보 로그는 항상 유지됩니다.

다음은 Log클래스 에서 사용할 수있는 메서드입니다 .

  1. Log.d()- DEBUG로그 메시지를 보냅니다.
  2. Log.e()- ERROR로그 메시지를 보냅니다.
  3. Log.i()- INFO로그 메시지를 보냅니다.
  4. Log.v()- VERBOSE로그 메시지를 보냅니다.
  5. Log.w()- WARN로그 메시지를 보냅니다.
  6. Log.wtf() -끔찍한 실패 : 절대 발생해서는 안되는 예외를보고합니다.

위의 메서드 ( Log.wLog.wtf3 개의 가능한 인수 패턴이있는 경우 제외 )에는 다음 인수가 필요합니다.

  1. String tag, String msg:

    tag: 로그 메시지의 소스를 식별하는 데 사용됩니다. 이 값은 일 수 있습니다 null.

    msg: 기록 할 메시지입니다. 이 값은 일 수 있습니다 null.

  2. String tag, String msg, Throwable tr-첫 번째 패턴과 유사하지만 예외를 지정할 수 있습니다. 로그 출력에 예외를 기록하려는 경우이 패턴을 사용해야합니다.

  3. ( Log.wLog.wtf) String tag, Throwable tr세 번째 패턴 유사하지만 메시지를 지정할 수 없습니다. 여전히 메시지를 전달할 수 있지만 두 번째 인수 배열에 있어야합니다.


편집 : 귀하의 질문에 대답하기 위해 곧바로 가십시오 : println()of System.outSystem.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] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

에서 System.out.println을 사용하지 않는 한 겉으로는 무한 루프는 종료

분류에서Dev

Scanner.next ()를 사용하여이 이상한 System.out.println () 동작을 일으키는 이유는 무엇입니까?

분류에서Dev

()에서 System.out.println와 함께 작업에 System.out.print ()를 사용하는 방법 변경

분류에서Dev

Ant 작업 : ant 빌드에서 Eclipse 콘솔에 나타나지 않는 system.out.println을 사용하는 Java 작업을 사용하고 있습니다.

분류에서Dev

에서 System.out.println의 내부 코드를 보면 어떻게 작동하는지 이해하고 싶어?

분류에서Dev

논리 실행에 영향을 미치는 System.out.println 행

분류에서Dev

메서드에서 반환 할 system.out.println을 얻는 방법

분류에서Dev

System.out.println ()에서 "out"을 바꿀 수 있습니까?

분류에서Dev

System.out.println ()이 for 루프에서 원하는대로 작동하지 않습니다.

분류에서Dev

루프와 system.out.print / println을 사용하여 그림을 그리는 방법

분류에서Dev

단일 라인에서 System.out.println 인쇄 값의 이유는 여러 번 호출

분류에서Dev

for 루프를 추가 할 때 System.out.println이 작동하지 않는 이유는 무엇입니까?

분류에서Dev

max_connections에 최대 값을 사용하면 안되는 이유

분류에서Dev

프로그램 흐름에 영향을 미치는 Java System.out.println ()

분류에서Dev

실행자 System.out.println이 콘솔에 표시되지 않음

분류에서Dev

Java에서 System.out.println의 이상한 동작

분류에서Dev

System.out.println에서 out을 확인할 수 없거나 필드가 아님

분류에서Dev

System.out.println이 문자열에 대해 작동하지 않습니다.

분류에서Dev

Java System.out.println에 해당하는 PHP는 무엇입니까?

분류에서Dev

Windows 특정 응용 프로그램에서 '시스템'을 사용하면 안되는 이유

분류에서Dev

System.out.println (args) 명령이 인쇄되는 위치를 결정하는 것은 무엇입니까?

분류에서Dev

방화벽 외부에서 TCP 바인딩을 사용하면 안되는 이유는 무엇입니까?

분류에서Dev

System.err.println을 코드에 추가하지 않고 콘솔에서 인쇄 오류가 발생하는 이유는 무엇입니까?

분류에서Dev

이 I에서 System.out.println (샤아 b)와 System.out.write 출력 사이의 차이를 이해하지 못한다 ((숯) b)

분류에서Dev

문자열 및 INT 함께를 사용에서 System.out.println 행동

분류에서Dev

JavaCC에서 System.out.println ()을 구문 분석 할 수 없습니다.

분류에서Dev

Why shouldn't I use System.out.println() in android

분류에서Dev

모든 system.out.println을 배열 또는 문자열 목록으로 캡처하는 방법

분류에서Dev

System.out.println은 Maven 프로젝트에서 인식되지 않습니다.

Related 관련 기사

  1. 1

    에서 System.out.println을 사용하지 않는 한 겉으로는 무한 루프는 종료

  2. 2

    Scanner.next ()를 사용하여이 이상한 System.out.println () 동작을 일으키는 이유는 무엇입니까?

  3. 3

    ()에서 System.out.println와 함께 작업에 System.out.print ()를 사용하는 방법 변경

  4. 4

    Ant 작업 : ant 빌드에서 Eclipse 콘솔에 나타나지 않는 system.out.println을 사용하는 Java 작업을 사용하고 있습니다.

  5. 5

    에서 System.out.println의 내부 코드를 보면 어떻게 작동하는지 이해하고 싶어?

  6. 6

    논리 실행에 영향을 미치는 System.out.println 행

  7. 7

    메서드에서 반환 할 system.out.println을 얻는 방법

  8. 8

    System.out.println ()에서 "out"을 바꿀 수 있습니까?

  9. 9

    System.out.println ()이 for 루프에서 원하는대로 작동하지 않습니다.

  10. 10

    루프와 system.out.print / println을 사용하여 그림을 그리는 방법

  11. 11

    단일 라인에서 System.out.println 인쇄 값의 이유는 여러 번 호출

  12. 12

    for 루프를 추가 할 때 System.out.println이 작동하지 않는 이유는 무엇입니까?

  13. 13

    max_connections에 최대 값을 사용하면 안되는 이유

  14. 14

    프로그램 흐름에 영향을 미치는 Java System.out.println ()

  15. 15

    실행자 System.out.println이 콘솔에 표시되지 않음

  16. 16

    Java에서 System.out.println의 이상한 동작

  17. 17

    System.out.println에서 out을 확인할 수 없거나 필드가 아님

  18. 18

    System.out.println이 문자열에 대해 작동하지 않습니다.

  19. 19

    Java System.out.println에 해당하는 PHP는 무엇입니까?

  20. 20

    Windows 특정 응용 프로그램에서 '시스템'을 사용하면 안되는 이유

  21. 21

    System.out.println (args) 명령이 인쇄되는 위치를 결정하는 것은 무엇입니까?

  22. 22

    방화벽 외부에서 TCP 바인딩을 사용하면 안되는 이유는 무엇입니까?

  23. 23

    System.err.println을 코드에 추가하지 않고 콘솔에서 인쇄 오류가 발생하는 이유는 무엇입니까?

  24. 24

    이 I에서 System.out.println (샤아 b)와 System.out.write 출력 사이의 차이를 이해하지 못한다 ((숯) b)

  25. 25

    문자열 및 INT 함께를 사용에서 System.out.println 행동

  26. 26

    JavaCC에서 System.out.println ()을 구문 분석 할 수 없습니다.

  27. 27

    Why shouldn't I use System.out.println() in android

  28. 28

    모든 system.out.println을 배열 또는 문자열 목록으로 캡처하는 방법

  29. 29

    System.out.println은 Maven 프로젝트에서 인식되지 않습니다.

뜨겁다태그

보관