All Projects → kibotu → StreamingAndroidLogger

kibotu / StreamingAndroidLogger

Licence: Apache-2.0 License
Logger

Programming Languages

kotlin
9241 projects
java
68154 projects - #9 most used programming language
javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to StreamingAndroidLogger

beautiful logger
Yet another logger API in Java with beautiful features
Stars: ✭ 60 (+39.53%)
Mutual labels:  logging-library
Meteor-logger-mongo
🍃 Meteor Logging: Store application log messages in MongoDB
Stars: ✭ 20 (-53.49%)
Mutual labels:  logging-library
BLogger
An easy to use modern C++14/17 async cross-platform logger which supports custom formatting/patterns, colored output, Unicode, file logging, log rotation & more!
Stars: ✭ 23 (-46.51%)
Mutual labels:  logging-library
tracelog
TraceLog is a highly configurable, flexible, portable, and simple to use debug logging system for Swift and Objective-C applications running on Linux, macOS, iOS, watchOS, and tvOS.
Stars: ✭ 52 (+20.93%)
Mutual labels:  logging-library
Loggaby
📝 A simple, lightweight and customizable logger.
Stars: ✭ 20 (-53.49%)
Mutual labels:  logging-library
dora
🌟Dora is an open-source framework focused on usability and flexibility.It is widely used to collect crash information and print variable values.It is very powerful and useful to debug android program. It is customizable and extensible in the simpleton-like ways. Dora是一个专注于易用性和灵活性的开源框架,它被广泛用于收集崩溃信息和打印变量值,对调试Android程序非常强大和有用,傻瓜式的自定义和扩展。
Stars: ✭ 15 (-65.12%)
Mutual labels:  logcat
sqlite micro logger arduino
Fast and Lean Sqlite database logger for Microcontrollers
Stars: ✭ 128 (+197.67%)
Mutual labels:  logging-library
moesif-nodejs
Moesif Nodejs Middleware Library (formerly Moesif-Express)
Stars: ✭ 36 (-16.28%)
Mutual labels:  logging-library
aixlog
Header-only C++ logging library
Stars: ✭ 95 (+120.93%)
Mutual labels:  logcat
logcat-colorize
Command that takes adb logcat from stdin and produces formatted colorized to stdout, written in C++.
Stars: ✭ 21 (-51.16%)
Mutual labels:  logcat
logging2
A More Pythonic Logging System
Stars: ✭ 22 (-48.84%)
Mutual labels:  logging-library
ratlog.js
🐀 Ratlog JavaScript library - Application Logging for Rats, Humans and Machines
Stars: ✭ 24 (-44.19%)
Mutual labels:  logging-library
monolog-google-cloud-json-formatter
A Monolog extension for formatting log entries for Google Cloud Logging
Stars: ✭ 15 (-65.12%)
Mutual labels:  logging-library
Simple-Log
dnkpp.github.io/Simple-Log/
Stars: ✭ 13 (-69.77%)
Mutual labels:  logging-library
use-reducer-logger
A very basic logger for the useReducer function in the React Hooks API.
Stars: ✭ 89 (+106.98%)
Mutual labels:  logging-library
logcatf
A Command line tool for format Android Logcat.
Stars: ✭ 17 (-60.47%)
Mutual labels:  logcat
KmLogging
Kotlin multiplatform logging. High performance, composable and simple to use.
Stars: ✭ 21 (-51.16%)
Mutual labels:  logging-library
tinylogger
Lightweight logging framework for bash
Stars: ✭ 35 (-18.6%)
Mutual labels:  logging-library
chronica
Logger framework for Erlang applications
Stars: ✭ 57 (+32.56%)
Mutual labels:  logging-library
Flogs
An Advanced Logging Framework develop in flutter that provides quick & simple logging solution.
Stars: ✭ 158 (+267.44%)
Mutual labels:  logging-library

Donation About Jan Rabe

StreamingAndroidLogger Hits-of-Code Android Arsenal Javadoc Build Status API Gradle Version kotlin Licence androidx

Introduction

Convenient logger that adds support to having multiple different loggers and different log levels for each one of them. e.g. LogcatLogger, CrashlyticsLogger, On-Device-Weblogging, UDP (e.g. Papertrail), SystemLogging.

demo

How to install

repositories {
    maven {
        url "https://jitpack.io"
    }
}

dependencies {
    implementation 'com.github.kibotu:StreamingAndroidLogger:-SNAPSHOT'
}

How to use

Add a Logger

Logger.addLogger(LogcatLogger(), Level.VERBOSE)
Logger.addLogger(SystemLogger(), Level.VERBOSE)
Logger.addLogger(CrashlyticsLogger(), Level.WARNING)
Logger.addLogger(WebLogger(), Level.INFO)
Logger.addLogger(UDPLogger(this, "logs.papertrailapp.com", 8080), Level.INFO)

Streaming Log Server

Logger.addLogger(WebLogger(), Level.VERBOSE)
var loggingWebServer = LoggingWebServer(port, assets)
loggingWebServer.start()
loggingWebServer.stop()

Log Levels

VERBOSE
DEBUG
INFO
WARNING
ERROR
SILENT

ILogger interface

/**
 * Debug Message.
 *
 * @param tag     - Application Tag.
 * @param message - Logging message.
 */
fun debug(tag: String, message: String)

/**
 * Debug Message.
 *
 * @param tag     - Application Tag.
 * @param message - Logging message.
 */
fun verbose(tag: String, message: String)

/**
 * Information Message.
 *
 * @param tag     - Application Tag.
 * @param message - Logging message.
 */
fun information(tag: String, message: String)

/**
 * Warning Message.
 *
 * @param tag     - Application Tag.
 * @param message - Logging message.
 */
fun warning(tag: String, message: String)

/**
 * Error Message.
 *
 * @param tag     - Application Tag.
 * @param message - Logging message.
 */
fun error(tag: String, message: String)

/**
 * Handle caught exception.
 *
 * @param throwable - Exception
 */
fun exception(throwable: Throwable)

/**
 * Toast message.
 *
 * @param message - Displayed message.
 */
fun toast(message: String)

/**
 * Snackbar message.
 *
 * @param message - Displayed message.
 */
fun snackbar(message: String)

How to build

graldew clean build

CI

gradlew clean assembleRelease test javadoc

Build Requirements

  • JDK8
  • Android Build Tools 29.0.2
  • Android SDK 29

Notes

In case you don't use the weblogger in release, add this to your build.gradle, to remove weblogging files

release {
    […]
    aaptOptions {
        ignoreAssetsPattern "!html:!StreamingLogger:"
    }
}

Notes

Follow me on Twitter: @wolkenschauer

Let me know what you think: [email protected]

Contributions welcome!

License

Copyright 2021 Jan Rabe

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].