bus/logger/logger.idl

Summary

Maintainability
Test Coverage
package logger

struct LogLevel
        level: int32
end

struct TimePoint
        ns: uint64
end

struct LogMessage
    source: str
    level: LogLevel
    category: str
    location: str // format: "<machine id>:<process id>"
    message: str
    id: uint32
    date: TimePoint
    systemDate: TimePoint
end

interface LogProvider
        fn setVerbosity(level: LogLevel) //uid:100
        fn setCategory(category: str, level: LogLevel) //uid:101
        fn clearAndSet(filters: Map<str,LogLevel>) //uid:102
end

interface LogListener
        fn setLevel(level: LogLevel)
        fn addFilter(category: str, level: LogLevel)
        fn clearFilters()
        sig onLogMessage(log: LogMessage)
        sig onLogMessages(logs: Vec<LogMessage>)
        sig onLogMessagesWithBacklog(logs: Vec<LogMessage>)
        prop logLevel(level: LogLevel)
end

interface LogManager
    fn log(messages: Vec<LogMessage>) //uid:100
    fn createListener() -> LogListener //uid:101
    fn getListener() -> LogListener //uid:102
    fn addProvider(source: LogProvider) -> int32 //uid:103
    fn removeProvider(sourceID: int32) //uid:104
end