- Notifications
You must be signed in to change notification settings - Fork174
📄The reliable, generic, fast and flexible logging framework for Android
License
tony19/logback-android
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
logback-android
is a lite version oflogback
that runs on Android. This library provides a highly configurable logging framework for Android apps, supporting multiple log destinations simultaneously:
- files
- SQLite databases
- logcat
- sockets
- syslog
SeeWiki for documentation.
Forlogback-android@1.x
, see the1.x
branch.
Create a new "Basic Activity" app inAndroid Studio.
In
app/build.gradle
, add the following dependencies:dependencies { implementation'org.slf4j:slf4j-api:2.0.7' implementation'com.github.tony19:logback-android:3.0.0'}
If using
logback-android
in unit tests,eitheruse Robolectric,or use this config instead:dependencies { implementation'org.slf4j:slf4j-api:2.0.7' implementation'com.github.tony19:logback-android:3.0.0' testImplementation'ch.qos.logback:logback-classic:1.2.11'}configurations.testImplementation { excludemodule:'logback-android'}
Create
app/src/main/assets/logback.xml
containing:<configurationxmlns="https://tony19.github.io/logback-android/xml"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="https://tony19.github.io/logback-android/xml https://cdn.jsdelivr.net/gh/tony19/logback-android/logback.xsd"> <appendername="logcat"class="ch.qos.logback.classic.android.LogcatAppender"> <tagEncoder> <pattern>%logger{12}</pattern> </tagEncoder> <encoder> <pattern>[%-20thread] %msg</pattern> </encoder> </appender> <rootlevel="DEBUG"> <appender-refref="logcat" /> </root></configuration>
In
MainActivity.java
, add the following imports:importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;
...and modify
onOptionsItemSelected()
to log "hello world":@OverridepublicbooleanonOptionsItemSelected(MenuItemitem) {Loggerlog =LoggerFactory.getLogger(MainActivity.class);log.info("hello world");// ...}
Build and start the app.
Open logcat for your device (via theAndroid Monitor tab in Android Studio).
Click the app menu, and select the menu-option. You should see "hello world" in logcat.
Gradlerelease
dependencies { implementation'org.slf4j:slf4j-api:2.0.7' implementation'com.github.tony19:logback-android:3.0.0'}
Gradlesnapshot (unstable)
repositories { maven { url'https://oss.sonatype.org/content/repositories/snapshots' }}dependencies { implementation'org.slf4j:slf4j-api:2.0.7' implementation'com.github.tony19:logback-android:3.0.1-SNAPSHOT'}
Use these commands to create the AAR:
git clone git://github.com/tony19/logback-android.gitcd logback-androidscripts/makejar.sh
The file is output to:
./build/logback-android-3.0.0-debug.aar
CD into
./scripts/release
.Install deps:
npm install
Make sure
local.properties
contains the following keys, required to sign artifacts and upload to Maven Central:# output from `gpg --export-secret-keys <PUBKEY_LAST8> | base64`signing.key=# PUBKEY_LAST8 from `gpg --list-keys` (last 8 digits of pub key)signing.keyId=# password for key (can be empty if key has no password)signing.password=# path to secring.gpg file from `gpg --keyring secring.gpg --export-secret-keys > ~/.gnupg/secring.gpg`signing.secretKeyRingFile=/Users/tony/.gnupg/secring.gpg# OSS sonatype username at https://issues.sonatype.orgossrhUsername=# OSS sonatype password at https://issues.sonatype.orgossrhPassword=# profile ID from https://oss.sonatype.org/#stagingProfiles (select profile, and copy profile ID from hash in address bar)sonatypeStagingProfileId=b2413418ab44f
Do a dry-run:
npm run start --dry
If everything looks good, rerun without
--dry
.Confirm the artifacts were uploaded inhttps://repo1.maven.org/maven2/com/github/tony19/logback-android/3.0.0/.
About
📄The reliable, generic, fast and flexible logging framework for Android