Android Logger
最近看了公司的Log工具类,觉得有点简单。决定自己实现一个,Logger, 一个可以控制Log输出不同场景的工具类
package com.android.chocolate.util
import android.util.Log
import java.lang.NullPointerException
/**
* <p>
* 需求一:可以开启关闭所有的Log打印
* 需求二:指定指打印某一个类型的Log,设置则生效
* 需求三:指定指打印某一个类型的Log以上的日志,设置则生效
* </p>
* <description>需求二、三 需要用户手动开启,默认是不开启的</description>
* @author ricky 2022/2/25 13:57
* @since 1.0
*/
object Logger {
// default TAG
private const val TAG = "Logger"
// 设置为false,则不会打印出日志
private const val isOpen = false
// 只单独显示一个类型的日志,当你需要的时候 可以对它进行设置 默认显示全部
private var onlyLogCategory: Int? = null
// 是否显示包含它及以上的高等级日志,默认不开启
private var isExpand = false
/**
* 设置只显示这个一个类型的日志
*/
@Synchronized
fun setOnlyLogCategory(style: Style) {
onlyLogCategory = style.getMark()
}
@Synchronized
fun getOnlyLogCategory() = onlyLogCategory
/**
* 需要配合setOnlyLogCategory一起使用,单开启无任何效果
* @see Logger.setOnlyLogCategory
*
*/
@Synchronized
fun setExpand(status: Boolean) {
isExpand = status
}
@Synchronized
fun getExpand() = isExpand
/**
* Info
*/
fun