log4j:ERROR Could not read configuration file [log4j.properties].


報錯:

log4j:ERROR Could not read configuration file [log4j.properties].
java.io.FileNotFoundException: log4j.properties (系統找不到指定的文件。)
 at java.io.FileInputStream.open(Native Method)
 at java.io.FileInputStream.<init>(FileInputStream.java:106)
 at java.io.FileInputStream.<init>(FileInputStream.java:66)
 at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:306)
 at org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.java:324)
 at snmp.GetSnmpInfo.<clinit>(GetSnmpInfo.java:32)
log4j:ERROR Ignoring configuration file [log4j.properties].

解決:

方案1.將log4j.properties 這個文件從src的根目錄 轉移到 項目的根目錄下面,即可~~~;

方案2.可以得到src的地址,獲得:

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;

public class Log {
    // Logger實例
    public Logger loger;
    // 將Log類封裝成單實例的模式,獨立於其他類。以后要用到日志的地方只要獲得Log的實例就可以方便使用
    private static Log log;

    // 構造函數,用於初始化Logger配置需要的屬性
    private Log() {
        // 獲得當前目錄路徑
        String filePath = this.getClass().getResource("/").getPath();
        // 找到log4j.properties配置文件所在的目錄(已經創建好)
        filePath = filePath.substring(1).replace("bin", "src");
        // 獲得日志類loger的實例
        loger = Logger.getLogger(this.getClass());
        // loger所需的配置文件路徑
        PropertyConfigurator.configure(filePath + "log4j.properties");
    }

    public static Log getLoger() {
        if (log != null)
            return log;
        else
            return new Log();
    }
}

其中:

// 獲得當前目錄路徑
        String filePath = this.getClass().getResource("/").getPath();
        // 找到log4j.properties配置文件所在的目錄(已經創建好)
        filePath = filePath.substring(1).replace("bin", "src");
        // 獲得日志類loger的實例
        loger = Logger.getLogger(this.getClass());
        // loger所需的配置文件路徑
        PropertyConfigurator.configure(filePath + "log4j.properties");

找到log4j.properties文件的位置。

方案3:

這個是個很奇怪的方案,至今沒鬧明白為什么就是在配置文件里的第一行加上:# MaiL或者別的注釋就是別把"log4j.rootLogger  =  DEBUG,MAIL"放第一行就行。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM