zoukankan      html  css  js  c++  java
  • 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"放第一行就行。

  • 相关阅读:
    社会影响力入门:打造有所作为的公司
    JSP中的include有哪些?有什么差别?
    关于程序猿怎样降低程序Bug的若干建议
    linux文件打开模式
    IntelliJ IDEA 问题总结之中的一个 —— jar包、assets、maven、git
    linux下改动内核參数进行Tcp性能调优 -- 高并发
    思科模拟器配置三层交换机局域网
    MFC调试小技巧
    JAVA基础编程50题(10-12题)具体解释
    加速度传感器的原理和应用-手机翻转、失重检测、运动检测、位置识别
  • 原文地址:https://www.cnblogs.com/tv151579/p/2868912.html
Copyright © 2011-2022 走看看