rn-native-logs
v0.0.7
Published
A way to get all native logs from Android and iOS
Downloads
12
Readme
RN Native Logs
This package aims to get native logs from Android and iOS applications, it also gets React Native logs. This can be useful in case you are using a third-party package and don't have control over the logs and you want send the logs to a server or print them in a different place than the Output (TextView).
On iOS it works redirectly all logs that normally go to the XCode Output to a file saved in the app's documents folder. When redirection is enabled, you will not be able to see the logs in the XCode Output.
On Android it works by running logcat and getting the logs based on your app's pid. The logs are redirected to a file and then the file is read.
Getting started
$ npm install rn-native-logs --save
Mostly automatic installation
$ react-native link rn-native-logs
Manual installation
iOS
- In XCode, in the project navigator, right click
Libraries
➜Add Files to [your project's name]
- Go to
node_modules
➜rn-native-logs
and addRNNativeLogs.xcodeproj
- In XCode, in the project navigator, select your project. Add
libRNNativeLogs.a
to your project'sBuild Phases
➜Link Binary With Libraries
- Run your project (
Cmd+R
)<
Android
- Open up
android/app/src/main/java/[...]/MainActivity.java
- Add
import com.reactlibrary.RNNativeLogsPackage;
to the imports at the top of the file - Add
new RNNativeLogsPackage()
to the list returned by thegetPackages()
method
- Append the following lines to
android/settings.gradle
:include ':rn-native-logs' project(':rn-native-logs').projectDir = new File(rootProject.projectDir, '../node_modules/rn-native-logs/android')
- Insert the following lines inside the dependencies block in
android/app/build.gradle
:compile project(':rn-native-logs')
Usage
import { NativeLogs } from 'rn-native-logs';
// The lib will start redirecting the logs to a file
await NativeLogs.redirectLogs()
// ...
// Returns an array containing all new logs since the previous getNewLogs call, it returns null in case there are no new logs.
await NativeLogs.getNewLogs();
// ...
// Returns a string with the path of the log file
await NativeLogs.getFilePath();