Trying to redirect the log messages using logback-android, so that messages can be saved in a file. However, it is not getting saved into a file.
This is my logback.xml file configration, which is stored under src/main/assets in my Android Studio
<configuration debug="true">
<!-- Create a file appender for a log in the application's data directory -->
<appender name="FILE" class="ch.qos.logback.classic.android.FileAppender">
<file>/data/com.test.equa/files/log/foo.log</file>
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- Write INFO (and higher-level) messages to the log file -->
<root level="INFO">
<appender-ref ref="FILE" />
</root>
</configuration>
This is piece of code where i am initiating the logging.
@Override
public void onCreate() {
super.onCreate();
loadData();
Logger log = LoggerFactory.getLogger(MyActivity.class);
log.error("Application Data setup in progress");
}
Issue: I continue to see the messages in the logcat, but i expect them to be stored in my android sd card memory.
Added the user permission in manifest for writting the logs in the sd card
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Am i missing some thing in this configuration, as i don't see any errors or message in my logcat for any configuration errors also. Can some one help me here
For Android 6+ You have to define permissions manually in settings for your application. Otherwise logback will not be allowed to write to external storage even if you grant WRITE_EXTERNAL_STORAGE permission in manifest.xml.
I took solution from here.
For me it was kind of solved by the first comment of Nija on the question.
My file tag now looks like this:
<file>/sdcard/Android/data/[my-package-from-AndroidManifest]/logs.log</file>
The weird think is though, that the logs.log file appeared on my internal storage under the given path (without /sdcard/).
My phone is running Android 6.0.1 in case thats relevant.
Concluding my answer is to try the above file path and check internal storage in case the other answers don't work.
Update:
Just wanted to open the log file on the computer, but couldn't find it. I can still find it with any storage access app (e.g. file commander) on the phone itself. But when looking at exactly the same folder with the PC it's not there. So check it out with a storage access app when that's good enough for you.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With