---
title: View logs
description: Learn how to view logs when using Expo CLI, native logs in Android Studio and Xcode, and system logs.
---

import { Terminal } from '~/ui/components/Snippet';

Logging information in a React Native app works similarly to in a web browser. You can use `console.log`, `console.warn` and `console.error`. However, at times, you might want to dive deep to get more useful information about what's happening in your app. For that, you can use **native logs** and **system logs**.

## Console logs

When you run `npx expo start` and connect a device, console logs will show up in the terminal process. These logs are sent from the runtime to Expo CLI over web sockets, meaning the results are lower fidelity than connecting dev tools directly to the engine.

You can view **high fidelity** logs and use advanced logging functions like `console.table` by creating a development build with [Hermes](/guides/using-hermes), and [connecting the inspector](/guides/using-hermes#javascript-inspector-for-hermes).

## Native logs

You can view native runtime logs in Android Studio and Xcode by compiling the native app locally. For more information, see [native debugging](/debugging/runtime-issues/#native-debugging).

## System logs

While it's usually not necessary, if you want to see logs for everything happening on your device, for example, even the logs from other apps and the OS, you can use the following commands:

<Terminal
  cmd={[
    '# Show system logs for an Android device with adb logcat',
    '$ npx react-native log-android',
    '# Show system logs for an iOS device',
    '$ npx react-native log-ios',
  ]}
/>
