首页 文章

在java中检索slf4j日志文件

提问于
浏览
1

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

使用普通log4j似乎很容易,但我无法试图从slf4j Logger 中检索它 . 有谁遇到过这个问题?

2 回答

  • 2

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

    因此,在您的情况下,如果您将slf4j与log4j一起使用,请像往常一样查阅log4j.properties或log4j.xml以查找日志的位置 . 如果您尚未设置其中任何一个文件(或以其他方式初始化log4j),则表示您没有日志 .

  • 2

    最后这就是我所做的,它似乎工作得很好 . 任何评论或评论将不胜感激!

    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;
    
    }
    

相关问题