mirror of
https://github.com/HighCapable/SweetProperty.git
synced 2025-09-05 10:15:36 +08:00
feat: styled new SLog
This commit is contained in:
@@ -19,20 +19,85 @@
|
|||||||
*
|
*
|
||||||
* This file is created by fankes on 2023/8/27.
|
* This file is created by fankes on 2023/8/27.
|
||||||
*/
|
*/
|
||||||
@file:Suppress("unused")
|
@file:Suppress("unused", "MemberVisibilityCanBePrivate")
|
||||||
|
|
||||||
package com.highcapable.sweetproperty.utils.debug
|
package com.highcapable.sweetproperty.utils.debug
|
||||||
|
|
||||||
import com.highcapable.sweetproperty.SweetProperty
|
import com.highcapable.sweetproperty.SweetProperty
|
||||||
|
import org.apache.log4j.Logger
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 全局 Log 管理类
|
* 全局 Log 管理类
|
||||||
*/
|
*/
|
||||||
internal object SLog {
|
internal object SLog {
|
||||||
|
|
||||||
|
internal const val DONE = "✅"
|
||||||
|
internal const val IGNORE = "❎"
|
||||||
|
internal const val ERROR = "❌"
|
||||||
|
internal const val WARN = "⚠️"
|
||||||
|
internal const val LINK = "➡️"
|
||||||
|
internal const val WIRE = "⚙️"
|
||||||
|
internal const val UP = "⬆️"
|
||||||
|
internal const val ROTATE = "\uD83D\uDD04"
|
||||||
|
internal const val ANLZE = "\uD83D\uDD0D"
|
||||||
|
internal const val STRNG = "\uD83D\uDCAA"
|
||||||
|
|
||||||
|
/** 当前日志输出对象 */
|
||||||
|
private val logger = Logger.getLogger(SLog::class.java)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 打印 Info (提醒) 级别 Log (绿色)
|
||||||
|
* @param msg 消息内容
|
||||||
|
* @param symbol 前缀符号 - 仅限非 [noTag] - 默认无
|
||||||
|
* @param noTag 无标签 - 默认否
|
||||||
|
*/
|
||||||
|
internal fun note(msg: Any, symbol: String = "", noTag: Boolean = false) =
|
||||||
|
log(if (noTag) msg else msg.createSymbolMsg(symbol), color = "38;5;10")
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 打印 Info 级别 Log (无颜色)
|
||||||
|
* @param msg 消息内容
|
||||||
|
* @param symbol 前缀符号 - 仅限非 [noTag] - 默认无
|
||||||
|
* @param noTag 无标签 - 默认否
|
||||||
|
*/
|
||||||
|
internal fun info(msg: Any, symbol: String = "", noTag: Boolean = false) =
|
||||||
|
log(if (noTag) msg else msg.createSymbolMsg(symbol))
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 打印 Warn 级别 Log (黄色)
|
||||||
|
* @param msg 消息内容
|
||||||
|
* @param symbol 前缀符号 - 仅限非 [noTag] - 默认 [WARN]
|
||||||
|
* @param noTag 无标签 - 默认否
|
||||||
|
*/
|
||||||
|
internal fun warn(msg: Any, symbol: String = WARN, noTag: Boolean = false) =
|
||||||
|
log(if (noTag) msg else msg.createSymbolMsg(symbol), color = "33")
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 打印 Error 级别 Log (红色)
|
||||||
|
* @param msg 消息内容
|
||||||
|
* @param symbol 前缀符号 - 仅限非 [noTag] - 默认 [ERROR]
|
||||||
|
* @param noTag 无标签 - 默认否
|
||||||
|
*/
|
||||||
|
internal fun error(msg: Any, symbol: String = ERROR, noTag: Boolean = false) =
|
||||||
|
log(if (noTag) msg else msg.createSymbolMsg(symbol), isError = true)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建符号消息内容
|
||||||
|
* @param symbol 前缀符号
|
||||||
|
* @return [String]
|
||||||
|
*/
|
||||||
|
private fun Any.createSymbolMsg(symbol: String) =
|
||||||
|
if (symbol.isNotBlank()) "[${SweetProperty.TAG}] $symbol $this" else "[${SweetProperty.TAG}] $this"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 打印 Log
|
* 打印 Log
|
||||||
* @param msg 消息内容
|
* @param msg 消息内容
|
||||||
|
* @param color 颜色代码 - 默认无颜色
|
||||||
|
* @param isError 是否强制为错误日志 - 默认否
|
||||||
*/
|
*/
|
||||||
internal fun log(msg: String) = println("[${SweetProperty.TAG}] $msg")
|
private fun log(msg: Any, color: String = "0", isError: Boolean = false) = when {
|
||||||
|
isError -> logger.error(msg)
|
||||||
|
color != "0" -> println("\u001B[${color}m$msg\u001B[0m")
|
||||||
|
else -> println(msg)
|
||||||
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user