mirror of
https://github.com/InsanusMokrassar/KSLog.git
synced 2025-11-05 05:50:11 +00:00
add a lot of kdocs
This commit is contained in:
@@ -14,15 +14,38 @@ enum class LogLevel {
|
||||
ASSERT,
|
||||
}
|
||||
|
||||
/**
|
||||
* Base interface for any logger
|
||||
*
|
||||
* @see default
|
||||
*
|
||||
*/
|
||||
interface KSLog {
|
||||
/**
|
||||
* The only one function required to realization in any inheritor. All other [performLog] functions
|
||||
* will call this one by default
|
||||
*/
|
||||
fun performLog(level: LogLevel, tag: String?, message: Any, throwable: Throwable?)
|
||||
|
||||
/**
|
||||
* Calls default [performLog] with `tag` == `null`
|
||||
*/
|
||||
fun performLog(level: LogLevel, message: Any, throwable: Throwable?) = performLog(level, null, message, throwable)
|
||||
/**
|
||||
* Calls default [performLog] with `message` built using [messageBuilder]. This method supposed to be overriden in
|
||||
* case when logger supports lazy-loaded messages (like [dev.inmo.kslog.common.filter.FilterKSLog])
|
||||
*/
|
||||
fun performLog(
|
||||
level: LogLevel,
|
||||
tag: String?,
|
||||
throwable: Throwable?,
|
||||
messageBuilder: () -> Any
|
||||
) = performLog(level, tag, messageBuilder(), throwable)
|
||||
|
||||
/**
|
||||
* Suspendable variant of [performLog] with [messageBuilder]. Uses default [performLog] with `message` built using
|
||||
* [messageBuilder] by default
|
||||
*/
|
||||
suspend fun performLogS(
|
||||
level: LogLevel,
|
||||
tag: String?,
|
||||
@@ -71,10 +94,16 @@ internal val printlnLogging: (level: LogLevel, tag: String, message: Any, throwa
|
||||
println(defaultMessageFormatter(l, t, m, e))
|
||||
}
|
||||
|
||||
/**
|
||||
* Simple builder for [DefaultKSLog] logger based on [defaultTag]
|
||||
*/
|
||||
fun KSLog(
|
||||
defaultTag: String,
|
||||
): KSLog = DefaultKSLog(defaultTag)
|
||||
|
||||
/**
|
||||
* Simple builder for [DefaultKSLog] logger based on [defaultTag] and [messageFormatter]
|
||||
*/
|
||||
fun KSLog(
|
||||
defaultTag: String,
|
||||
messageFormatter: MessageFormatter
|
||||
@@ -93,6 +122,10 @@ fun KSLog(
|
||||
messageFormatter
|
||||
).filtered(filter)
|
||||
|
||||
/**
|
||||
* Building logger using [KSLog] builder based on [defaultTag] and [messageFormatter]. This logger will also filter
|
||||
* incoming levels: only levels passed in [levels] param will be logged
|
||||
*/
|
||||
fun KSLog(
|
||||
defaultTag: String,
|
||||
levels: Iterable<LogLevel>,
|
||||
@@ -104,6 +137,10 @@ fun KSLog(
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Building logger using [KSLog] builder based on [defaultTag] and [messageFormatter]. This logger will also filter
|
||||
* incoming levels: only levels passed in [firstLevel], [secondLevel] and [otherLevels] param will be logged
|
||||
*/
|
||||
fun KSLog(
|
||||
defaultTag: String,
|
||||
firstLevel: LogLevel,
|
||||
@@ -112,6 +149,10 @@ fun KSLog(
|
||||
messageFormatter: MessageFormatter = defaultMessageFormatter,
|
||||
): KSLog = KSLog(defaultTag, setOf(firstLevel, secondLevel, *otherLevels), messageFormatter)
|
||||
|
||||
/**
|
||||
* Building logger using [KSLog] builder based on [defaultTag] and [messageFormatter]. This logger will also filter
|
||||
* incoming levels: only levels above [minLoggingLevel] will be logged
|
||||
*/
|
||||
fun KSLog(
|
||||
defaultTag: String,
|
||||
minLoggingLevel: LogLevel,
|
||||
@@ -123,5 +164,13 @@ fun KSLog(
|
||||
minLoggingLevel.ordinal <= l.ordinal
|
||||
}
|
||||
|
||||
/**
|
||||
* Setting [KSLog.default] logger to [newDefault]
|
||||
*/
|
||||
fun setDefaultKSLog(newDefault: KSLog) { KSLog.default = newDefault }
|
||||
fun addDefaultKSLog(newDefault: KSLog) { KSLog.default = KSLog.default + newDefault }
|
||||
/**
|
||||
* Setting [KSLog.default] logger to new [CallbackKSLog] using [plus] operation
|
||||
*/
|
||||
fun addDefaultKSLog(newDefault: KSLog) {
|
||||
KSLog.default += newDefault
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user