首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tinylog捕获日志文件的系统错误输出流

Tinylog捕获日志文件的系统错误输出流
EN

Stack Overflow用户
提问于 2021-08-26 16:02:48
回答 1查看 70关注 0票数 0

我使用Tinylog来记录我的java应用程序中的所有内容。我捕获所有异常并记录它们。

代码语言:javascript
复制
<dependency>
    <groupId>org.tinylog</groupId>
    <artifactId>tinylog-api</artifactId>
    <version>2.2.1</version>
</dependency>

<dependency>
    <groupId>org.tinylog</groupId>
    <artifactId>tinylog-impl</artifactId>
    <version>2.2.1</version>
</dependency>

我在控制台和文件上写日志。这是我的tinylog.properties文件

代码语言:javascript
复制
writer1= console
writer2 = rolling file
writer2.file = /var/log/oozie-monitor-log/monitor-{count}.log
writer2.charset  = UTF-8
writer2.append   = true
writer2.buffered = false
writer2.backups  = 15
#writer1.level = debug
#writer2.level = debug
writer2.policies = daily
writer1.format = {date: HH:mm:ss.SSS} {level}: {message}
writer2.format = {date: HH:mm:ss.SSS} {level}: {message}

现在的问题是有一些系统错误和警告没有被Tinylog捕获。例如,我在控制台上看到以下日志,但这些日志在日志文件中可用

代码语言:javascript
复制
log4j:WARN No appenders could be found for logger (org.apache.hadoop.util.Shell).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/Users/neeleshnirmal/.m2/repository/org/slf4j/slf4j-simple/1.6.6/slf4j-simple-1.6.6.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/Users/neeleshnirmal/.m2/repository/org/slf4j/slf4j-log4j12/1.6.6/slf4j-log4j12-1.6.6.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.SimpleLoggerFactory]

所以我的问题是,如何配置Tinylog来捕获系统错误流?

EN

回答 1

Stack Overflow用户

发布于 2021-08-27 14:42:56

tinylog不提供任何适配器,用于将控制台输出转发到日志记录框架。只需几行代码就可以开发出这样的适配器。但是,它不会对您有所帮助,因为它会在您的用例中创建无限循环,因为您还会使用控制台编写器将日志条目输出到控制台。因此,这种假设的控制台适配器还将捕获来自控制台编写器的控制台输出,并再次发送到控制台编写器。

相反,我建议修复警告。您的警告示例非常容易修复:从类路径中删除slf4j-simple-1.6.6.jar、slf4j-log4j12-1.6.6.jar和log4j JAR。之后,您可以添加slf4j-tinyloglog4j1.2-api。这不仅可以修复警告,还可以将所有日志记录条目从SLF4J和Log4j转发到tinylog。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68941893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档