mirai-core / net.mamoe.mirai.utils / MiraiLogger

MiraiLogger

interface MiraiLogger

日志记录器. 所有的输出均依赖于它. 不同的对象可拥有只属于自己的 logger. 通过 identity 来区分.

注意: 如果你需要重新实现日志, 请不要直接实现这个接口, 请继承 MiraiLoggerPlatformBase

在定义 logger 变量时, 请一直使用 MiraiLogger 或者 MiraiLoggerWithSwitch.

Mirai 内建三种日志实现, 分别是 SimpleLogger, PlatformLogger, SilentLogger

See Also

SimpleLogger

PlatformLogger

SilentLogger

MiraiLoggerPlatformBase

Types

Companion

顶层日志记录器.

companion object Companion : MiraiLogger

Properties

follower

随从. 在 this 中调用所有方法后都应继续往 follower 传递调用. follower 的存在可以让一次日志被多个日志记录器记录.

abstract var follower: MiraiLogger?

identity

日志的标记. 在 Mirai 中, identity 可为

abstract val identity: String?

isEnabled

获取 MiraiLogger 是否已开启

abstract val isEnabled: Boolean

Functions

debug

记录一个 调试 级别的日志.

abstract fun debug(message: String?): Unitopen fun debug(e: Throwable?): Unit
abstract fun debug(message: String?, e: Throwable?): Unit

error

记录一个 错误 级别的日志.

abstract fun error(message: String?): Unitopen fun error(e: Throwable?): Unit
abstract fun error(message: String?, e: Throwable?): Unit

info

记录一个 信息 级别的日志.

abstract fun info(message: String?): Unitopen fun info(e: Throwable?): Unit
abstract fun info(message: String?, e: Throwable?): Unit

plus

添加一个 follower, 返回 follower 它只会把 this 的属性 MiraiLogger.follower 修改为这个函数的参数 follower, 然后返回这个参数. 若 MiraiLogger.follower 已经有值, 则会替换掉这个值.

abstract operator fun <T : MiraiLogger> plus(follower: T): T

plusAssign

添加一个 followerMiraiLogger.follower 已经有值, 则会对这个值调用 plusAssign. 即会在日志记录器链的末尾添加这个参数 follower

abstract operator fun plusAssign(follower: MiraiLogger): Unit

verbose

记录一个 verbose 级别的日志. 无关紧要的, 经常大量输出的日志应使用它.

abstract fun verbose(message: String?): Unitopen fun verbose(e: Throwable?): Unit
abstract fun verbose(message: String?, e: Throwable?): Unit

warning

记录一个 警告 级别的日志.

abstract fun warning(message: String?): Unitopen fun warning(e: Throwable?): Unit
abstract fun warning(message: String?, e: Throwable?): Unit

Extension Functions

debug

fun MiraiLogger.debug(lazyMessage: () -> String?): Unit
fun MiraiLogger.debug(lazyMessage: () -> String?, e: Throwable?): Unit

error

fun MiraiLogger.error(lazyMessage: () -> String?): Unit
fun MiraiLogger.error(lazyMessage: () -> String?, e: Throwable?): Unit

info

fun MiraiLogger.info(lazyMessage: () -> String?): Unit
fun MiraiLogger.info(lazyMessage: () -> String?, e: Throwable?): Unit

verbose

fun MiraiLogger.verbose(lazyMessage: () -> String): Unit
fun MiraiLogger.verbose(lazyMessage: () -> String, e: Throwable?): Unit

warning

fun MiraiLogger.warning(lazyMessage: () -> String?): Unit
fun MiraiLogger.warning(lazyMessage: () -> String?, e: Throwable?): Unit

withSwitch

给这个 logger 添加一个开关, 用于控制是否记录 log

fun MiraiLogger.withSwitch(default: Boolean = true): MiraiLoggerWithSwitch

Inheritors

MiraiLoggerPlatformBase

日志基类. 实现了 follower 的调用传递. 若 Mirai 自带的日志系统无法满足需求, 请继承这个类并实现其抽象函数.

abstract class MiraiLoggerPlatformBase : MiraiLogger