如何根据日志级别将tinylog日志写入不同的文件?

How to write tinylog logs to different files based on log level?

我正在使用 tinylog 来获得它的各种功能。我的应用程序需要非常快速的异步日志记录。我可以愉快地登录。我只有两个问题。

1) 我所有的错误日志和信息,一些调试日志都混杂在一个文件中。我怎样才能将它们分开,这样它们就会进入一个文件,比如 "errors.log" 而信息字符串会进入另一个文件,比如 "messages.log"?

2) 我希望时间戳以微秒为单位,这意味着数据:"HH:mm:ss:milli-seconds:Micro-seconds" 中的时间。有什么办法吗?

这是我的属性文件:

tinylog.writer = rollingfile
tinylog.writer.filename = MessageLogs.txt
tinylog.writer.backups = 1
tinylog.writer.label = timestamp
tinylog.writer.policies = daily, size: 1000KB
tinylog.writingthread = true
tinylog.writingthread.observe = null
tinylog.writingthread.priority = 2
tinylog.format = {date:yyyy-MM-dd HH:mm:ss:sss}  {class}.{method}()\n{level}: {message}

无法以您想要的方式实现,如您在文档中所见"If multiple writers are used, it is possible to define particular logging formats for them. In that case, these writers will only output log entries with the defined logging level or higher."

文档中的示例:

tinylog.writer1 = file
tinylog.writer1.level = trace
tinylog.writer1.filename = log_trace.txt
tinylog.writer2 = file
tinylog.writer2.filename = log_error.txt
tinylog.writer2.level = error

对于微秒,您需要 tinylog 1.3 和 Java 9 和 https://docs.oracle.com/javase/9/docs/api/java/time/format/DateTimeFormatter.html and http://www.tinylog.org/configuration#format