繁体   English   中英

在Java中检索slf4j日志文件

[英]Retrieving slf4j log file in java

我正在制作一个项目备份Java应用程序,该应用程序需要创建一个邮件报告并每天发送。 我的想法是生成正文消息,并将应用程序日志附加到电子邮件中。 我正在使用slf4j记录器,但我不知道ho如何使用记录器自动检索日志文件路径。

使用普通的log4j似乎很容易,但是我无法从slf4j记录器中检索它。 有人遇到这个问题吗?

没有SLF4J记录器之类的东西。 SLF4J是另一个日志记录框架(log4j,commons-logging,java.util.Log等)的外观。 因此,SLF4J记录器始终只是其中一个受支持框架中记录器的包装。 查看下面如何配置记录器。

因此,在您的情况下,如果您将slf4j与log4j一起使用,请照常查询log4j.properties或log4j.xml来查找日志的位置。 而且,如果您没有设置任何一个文件(或以其他方式初始化的log4j),则没有日志。

最后,这就是我所做的,而且似乎工作正常。 任何评论或评论将不胜感激!

private File getLogFile(){
    File file = null;
    Appender rightAppender = null;
    Enumeration<Appender> e = org.apache.log4j.Logger.getRootLogger().getAllAppenders();
    while(e.hasMoreElements()){
        Appender appender = (Appender)e.nextElement();
        if(appender instanceof FileAppender){
            rightAppender = appender;
        }
    }
    if(null != rightAppender){
        file = new File(((FileAppender)rightAppender).getFile());
    }
    return file;

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM