Translate

[Android] WebView 에서 console.log 를 Logcat 에 나오게 하기




웹에서 Javascript 로 작업을 하다보면 디버깅이나 로그를 확인 시

console.log() 를 많이 사용한다.



하지만 말그대로 브라우저에서 확인할 때만 확인이 가능하며
WebView에 해당 주소를 올리는경우 adb logcat 에는 출력이 되지 않는다.

adb logcat 에 console.log 가 출력을 시키려면 다음과 같이 작성한다.


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        WebView webview = (WebView) findViewById(R.id.webview);
        WebSettings webSettings = webview.getSettings();
        webSettings.setJavaScriptEnabled(true);

        webview.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
        });

        webview.setWebChromeClient(new WebChromeClient(){
            @Override
            public boolean onConsoleMessage(ConsoleMessage consoleMessage) {
                Log.e(LOG_NAME, consoleMessage.message() + '\n' + consoleMessage.messageLevel() + '\n' + consoleMessage.sourceId());
                return super.onConsoleMessage(consoleMessage);
            }
        });
        webview.loadUrl("http://google.co.kr");
    }




댓글