类
class Logger
public abstract class Logger <: Resource {
public mut open prop level: LogLevel
public open func withAttrs(attrs: Array<Attr>): Logger
public open func log(record: LogRecord): Unit
public func enabled(level: LogLevel): Bool
public open func log(level: LogLevel, message: String, attrs: Array<Attr>): Unit
public open func log(level: LogLevel, message: () -> String, attrs: Array<Attr>): Unit
public func fatal(message: String, attrs: Array<Attr>): Unit
public func fatal(message: () -> String, attrs: Array<Attr>): Unit
public func error(message: String, attrs: Array<Attr>): Unit
public func error(message: () -> String, attrs: Array<Attr>): Unit
public func warn(message: String, attrs: Array<Attr>): Unit
public func warn(message: () -> String, attrs: Array<Attr>): Unit
public func info(message: String, attrs: Array<Attr>): Unit
public func info(message: () -> String, attrs: Array<Attr>): Unit
public func debug(message: String, attrs: Array<Attr>): Unit
public func debug(message: () -> String, attrs: Array<Attr>): Unit
public func trace(message: String, attrs: Array<Attr>): Unit
public func trace(message: () -> String, attrs: Array<Attr>): Unit
}
功能:此抽象类提供基础的日志打印和管理功能。
父类型:
prop level
public mut open prop level: LogLevel
功能:获取和修改日志打印级别。
类型:LogLevel
func debug(String, Array<Attr>)
public func debug(message: String, attrs: Array<Attr>): Unit
功能:打印 DEBUG 级别的日志的便捷函数。
参数:
func debug(() -> String, Array<Attr>)
public func debug(message: () -> String, attrs: Array<Attr>): Unit
功能:打印 DEBUG 级别的日志的便捷函数。
参数:
func enabled(LogLevel)
public func enabled(level: LogLevel): Bool
功能:确定是否记录指定日志级别的日志消息。
这个函数允许调用者提前判断日志是否会被丢弃,以避免耗时的日志消息参数计算。
参数:
- level: LogLevel - 日志级别。
返回值:
- Bool - 如果指定的日志级别处于使能状态,则返回
true
;否则,返回false
。
func error(String, Array<Attr>)
public func error(message: String, attrs: Array<Attr>): Unit
功能:打印 ERROR 级别的日志的便捷函数。
参数:
func error(() -> String, Array<Attr>)
public func error(message: () -> String, attrs: Array<Attr>): Unit
功能:打印 ERROR 级别的日志的便捷函数。
参数:
func fatal(String, Array<Attr>)
public func fatal(message: String, attrs: Array<Attr>): Unit
功能:打印 FATAL 级别的日志的便捷函数。
参数:
func fatal(() -> String, Array<Attr>)
public func fatal(message: () -> String, attrs: Array<Attr>): Unit
功能:打印 FATAL 级别的日志的便捷函数。
参数:
func info(String, Array<Attr>)
public func info(message: String, attrs: Array<Attr>): Unit
功能:打印 INFO 级别的日志的便捷函数。
参数:
func info(() -> String, Array<Attr>)
public func info(message: () -> String, attrs: Array<Attr>): Unit
功能:打印 INFO 级别的日志的便捷函数。
参数:
func log(LogLevel, String, Array<Attr>)
public open func log(level: LogLevel, message: String, attrs: Array<Attr>): Unit
功能:打印日志的通用函数,需指定日志级别。
参数:
func log(LogLevel, () -> String, Array<Attr>)
public open func log(level: LogLevel, message: () -> String, attrs: Array<Attr>): Unit
功能:打印日志的通用函数,需指定日志级别。
参数:
func log(LogRecord)
public open func log(record: LogRecord): Unit
功能:打印日志的通用函数。
参数:
- record: LogRecord - 日志级别。
func trace(String, Array<Attr>)
public func trace(message: String, attrs: Array<Attr>): Unit
功能:打印 TRACE 级别的日志的便捷函数。
参数:
func trace(() -> String, Array<Attr>)
public func trace(message: () -> String, attrs: Array<Attr>): Unit
功能:打印 TRACE 级别的日志的便捷函数。
参数:
func warn(String, Array<Attr>)
public func warn(message: String, attrs: Array<Attr>): Unit
功能:打印 WARN 级别的日志的便捷函数。
参数:
func warn(() -> String, Array<Attr>)
public func warn(message: () -> String, attrs: Array<Attr>): Unit
功能:打印 WARN 级别的日志的便捷函数。
参数:
func withAttrs(Array<Attr>)
public open func withAttrs(attrs: Array<Attr>): Logger
功能:创建当前对象的副本,新的副本会包含指定的属性。
参数:
返回值:
class LogRecord
public class LogRecord {
public init(time: DateTime, level: LogLevel, msg: String, attrs: Array<Attr>)
public prop time: DateTime
public prop level: LogLevel
public mut prop message: String
public mut prop attrs: Array<Attr>
public func clone(): LogRecord
}
功能:日志消息的“负载”。
记录结构作为参数传递给 Logger 类的 log方法。日志提供者处理这些结构以显示日志消息。记录是由日志对象自动创建,因此日志用户看不到。
init(DateTime, LogLevel, String, Array<Attr>)
public init(time: DateTime, level: LogLevel, msg: String, attrs: Array<Attr>)
功能:创建一个 LogRecord 实例,指定时间戳,日志打印级别,日志消息和日志数据键值对。
参数:
- time: DateTime - 记录日志时的时间戳
- level: LogLevel - 日志级别。
- msg: String - 日志消息。
- attrs: Array<Attr> - 日志数据键值对。
prop attrs
public mut prop attrs: Array<Attr>
功能:获取或设置日志数据键值对。
prop level
public prop level: LogLevel
功能:获取日志打印级别,只有级别小于等于该值的日志会被打印。
类型:LogLevel
prop message
public mut prop message: String
功能:获取或设置日志消息。
类型:String
prop time
public prop time: DateTime
功能:获取日志打印时的时间戳。
类型:DateTime
func clone()
public func clone(): LogRecord
功能:创建当前对象的副本。
返回值:
- LogRecord - 当前对象的副本。
class LogWriter
public abstract class LogWriter {
public func writeNone(): Unit
public func writeInt(v: Int64): Unit
public func writeUInt(v: UInt64): Unit
public func writeBool(v: Bool): Unit
public func writeFloat(v: Float64): Unit
public func writeString(v: String): Unit
public func writeDateTime(v: DateTime): Unit
public func writeDuration(v: Duration): Unit
public func writeKey(v: String): Unit
public func writeValue(v: LogValue): Unit
public func startArray(): Unit
public func endArray(): Unit
public func startObject(): Unit
public func endObject(): Unit
}
功能:LogWriter 提供了将仓颉对象序列化成日志输出目标的能力。
LogWriter 需要和 interface LogValue 搭配使用,LogWriter 可以通过 writeValue 系列方法来将实现了 LogValue 接口的类型写入到日志输出目标中。
func endArray()
public func endArray(): Unit
功能:结束序列化当前的 LogValue 数组。
异常:
- IllegalStateException - 当前 writer 没有匹配的 startArray 时。
func endObject()
public func endObject(): Unit
功能:结束序列化当前的 LogValue object。
异常:
- IllegalStateException - 当前 writer 的状态不应该结束一个 LogValue object 时。
func startArray()
public func startArray(): Unit
功能:开始序列化一个新的 LogValue 数组,每一个 startArray 都必须有一个 endArray 对应。
异常:
- IllegalStateException - 当前 writer 的状态不应该写入 LogValue array 时。
func startObject()
public func startObject(): Unit
功能:开始序列化一个新的 LogValue object,每一个 startObject 都必须有一个 endObject 对应。
异常:
- IllegalStateException - 当前 writer 的状态不应该写入 LogValue object 时。
func writeBool(Bool)
public func writeBool(v: Bool): Unit
功能:向日志输出目标中写入 Bool 值。
参数:
异常:
- IllegalStateException - 当前 writer 的状态不应该写入 value 时。
func writeFloat(Float64)
public func writeFloat(v: Float64): Unit
功能:向日志输出目标中写入 Float64 值。
参数:
异常:
- IllegalStateException - 当前 writer 的状态不应该写入 value 时。
func writeDateTime(DateTime)
public func writeDateTime(v: DateTime): Unit
功能:向日志输出目标中写入 DateTime 值。
参数:
异常:
- IllegalStateException - 当前 writer 的状态不应该写入 value 时。
func writeDuration(Duration)
public func writeDuration(v: Duration): Unit
功能:向日志输出目标中写入 Duration 值。
参数:
异常:
- IllegalStateException - 当前 writer 的状态不应该写入 value 时。
func writeException(Exception)
public func writeException(v: Exception): Unit
功能:向日志输出目标中写入 Exception 值。
参数:
异常:
- IllegalStateException - 当前 writer 的状态不应该写入 value 时,抛出该异常。
func writeInt(Int64)
public func writeInt(v: Int64): Unit
功能:向日志输出目标中写入 Int64 值。
参数:
异常:
- IllegalStateException - 当前 writer 的状态不应该写入 value 时。
func writeKey(String)
public func writeKey(v: String): Unit
功能:向日志输出目标中写入 name。
参数:
- v: String - 待写入的 Key 值。
异常:
- IllegalStateException - 当前 writer 的状态不应写入参数
name
指定字符串时。
func writeNone()
public func writeNone(): Unit
功能:向日志输出目标中写入 None,具体写成什么格式由 Logger 的提供者自行决定。
异常:
- IllegalStateException - 当前 writer 的状态不应该写入 value 时。
func writeString(String)
public func writeString(v: String): Unit
功能:向日志输出目标中写入 String 值。
参数:
异常:
- IllegalStateException - 当前 writer 的状态不应该写入 value 时。
func writeValue(LogValue)
public func writeValue(v: LogValue): Unit
功能:将实现了 LogValue 接口的类型写入到日志输出目标中。该接口会调用 LogValue 的 writeTo 方法向日志输出目标中写入数据。
log 包已经为基础类型 Int64、Float64、Bool、String 类型扩展实现了 LogValue,并且为 DateTime、Duration、 Collection 类型 Array、HashMap 和 TreeMap 以及 Option<T> 扩展实现了 LogValue。
参数:
异常:
- IllegalStateException - 当前 writer 的状态不应该写入 value 时。
class NoopLogger
public class NoopLogger <: Logger {
public init()
public prop level: LogLevel
public func log(record: LogRecord): Unit
public func log(level: LogLevel, message: String, attrs: Array<Attr>): Unit
public func log(level: LogLevel, message: () -> String, attrs: Array<Attr>): Unit
public func withAttrs(attrs: Array<Attr>): Logger
public func isClosed(): Bool
public func close(): Unit
}
功能:Logger 的 NO-OP(无操作)实现,会丢弃所有的日志。
父类型:
init()
public init()
功能:创建一个 NoopLogger 实例。
prop level
public mut prop level: LogLevel
功能:永远只能获取到 OFF 日志打印级别,设置日志打印级别不会生效。
类型:LogLevel
func close()
public func close(): Unit
功能:NOOP 实现。
func isClosed()
public func isClosed(): Bool
功能:NOOP 实现。
返回值:
- Bool。
func log(LogLevel, String, Array<Attr>)
public func log(level: LogLevel, message: String, attrs: Array<Attr>): Unit
功能:NOOP 实现。
参数:
func log(LogLevel, () -> String, Array<Attr>)
public func log(level: LogLevel, message: () -> String, attrs: Array<Attr>): Unit
功能:NOOP 实现。
参数:
func log(LogRecord)
public func log(record: LogRecord): Unit
功能:NOOP 实现。
参数:
- record: LogRecord - 日志级别。
func withAttrs(Array<Attr>)
public func withAttrs(attrs: Array<Attr>): Logger
功能:NOOP 实现。
参数: