使用log4j写入日志时出现堆栈溢出错误

时间:2016-05-31 07:05:39

标签: java selenium log4j

我在运行测试自动化时使用log4j写日志。

这是我写日志的方法:

public class Log {

private static Logger Log = Logger.getLogger(Log.class.getName()); 

public static void info(String message)
{
    Log.info(message);
}

}

但每当我使用它时,堆栈溢出错误都会抛出如下:

通话方式:

Log.info("Click action is performed on My Account link");

错误:

java.lang.StackOverflowError at 
helpers.Log.info(Log.java:21) at 
helpers.Log.info(Log.java:21) at 
helpers.Log.info(Log.java:21) at 
helpers.Log.info(Log.java:21)

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

你在打电话给你的班级' Logger方法,而不是info(String) Log方法:您的课程也称为Log.Log.info

使用Log代替 - 或重命名Log班级,或重命名 NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); navigationView.setNavigationItemSelectedListener(this); Menu m = navigationView.getMenu(); SubMenu subMenu = m.addSubMenu("Top Playlists"); subMenu.add("Foo"); subMenu.add("Bar"); subMenu.add("Kamehameha"); MenuItem mi = m.getItem(m.size()-1); mi.setTitle(mi.getTitle()); 成员变量。

这是遵循Java命名约定的一个原因。

答案 1 :(得分:0)

我没有看到log4j.properties文件的配置。试试这个

import org.apache.log4j.Logger;
import org.apache.log4j.xml.DOMConfigurator;
public class Logs {

    public static Logger Application_Log = Logger.getLogger(Logs.class.getName());

    public Logs(){
         DOMConfigurator.configure("log4j-config.xml");
    }
public void info(String message){
        Application_Log.info(message);
    }